<%@ Language=VBScript %> <% Option Explicit %> <% '------------------------------------------------------------------------- ' httpsvc_prop.asp: Allows for the configuration of IP addresses ' and set the port to listen for HTTP shares web site. ' ' Copyright (c) Microsoft Corporation. All rights reserved. ' ' Date Description ' 22-01-2001 Created date ' 12-03-2001 Modified Date '------------------------------------------------------------------------- %> <% '------------------------------------------------------------------------- ' Global Variables and Constants '------------------------------------------------------------------------- Dim G_objHTTPService 'WMI server HTTP shares web site object Dim G_objService 'WMI server object to get the IP addresses for NIC cards Dim rc 'framework variable Dim page 'framework variable Dim iTabGeneral 'framework variable Dim SOURCE_FILE 'To hold source file name SOURCE_FILE = SA_GetScriptFileName() Const CONST_ARR_STATUS_CHECKED = "CHECKED" 'Constant for radio button checked property Const CONST_ARR_STATUS_TRUE = "YES" 'Constant for radio button status Const CONST_ARR_STATUS_FALSE = "NO" 'Constant for radio button status '------------------------------------------------------------------------- 'Form Variables '------------------------------------------------------------------------- Dim F_strIPAddress 'IP Address to be used Dim F_nport 'Port Number to be used Dim F_strradIPAdd 'Value of radio button clicked Dim F_strAll_IPAddress 'To set the status of the All IP address radio button Dim F_strJustthis_IPAddress 'To set the status of the Just this IP address radio button '------------------------------------------------------------------------- 'END of Form Variables '------------------------------------------------------------------------- ' 'Create a Tabbed Property Page rc = SA_CreatePage( L_PAGETITLE_HTTP_TEXT , "", PT_TABBED, page ) ' 'Add a tab rc = SA_AddTabPage( page, L_GENERAL_TEXT, iTabGeneral) ' 'Show the page rc = SA_ShowPage( page ) '--------------------------------------------------------------------- 'Function: OnInitPage() 'Description: Called to signal first time processing for this page. 'Input Variables: PageIn,EventArg 'Output Variables: PageIn,EventArg 'Returns: True/False 'Global Variables: None '--------------------------------------------------------------------- Public Function OnInitPage(ByRef PageIn, ByRef EventArg) 'To get the HTTP shares web settings OnInitPage = GetSystemSettings() End Function '--------------------------------------------------------------------- 'Function: OnPostBackPage() 'Description: Called to signal that the page has been posted-back. 'Input Variables: PageIn,EventArg 'Output Variables: PageIn,EventArg 'Returns: True/False 'Global Variables: F_(*) '--------------------------------------------------------------------- Public Function OnPostBackPage(ByRef PageIn, ByRef EventArg) Call SA_TraceOut( SOURCE_FILE, "OnPostBackPage") 'Get the values from hidden variables F_strradIPAdd = Request.Form("hdnIPAddressstatus") F_nport = Request.Form("hdnPort") If Ucase(F_strradIPAdd) = CONST_ARR_STATUS_TRUE Then F_strIPAddress="" Else F_strIPAddress = Request.Form("hdnIPAddress") End If If Ucase(F_strradIPAdd) = CONST_ARR_STATUS_TRUE Then F_strAll_IPAddress = CONST_ARR_STATUS_CHECKED F_strJustthis_IPAddress ="" Else F_strJustthis_IPAddress = CONST_ARR_STATUS_CHECKED F_strAll_IPAddress = "" End if OnPostBackPage = True End Function '--------------------------------------------------------------------- 'Function: OnServeTabbedPropertyPage() 'Description: Called when the content needs to send 'Input Variables: PageIn,EventArg,iTab,bIsVisible 'Output Variables: PageIn,EventArg 'Returns: True/False 'Global Variables: idTabGeneral '--------------------------------------------------------------------- Public Function OnServeTabbedPropertyPage(ByRef PageIn, _ ByVal iTab, _ ByVal bIsVisible, ByRef EventArg) Const CONST_TAB_INDEX = 0 ' ' Emit Web Framework required functions If ( iTab = CONST_TAB_INDEX ) Then Call ServeCommonJavaScript() End If ' ' Emit content for the requested tab Select Case iTab Case iTabGeneral Call ServeTabGeneral(PageIn, bIsVisible) Case Else 'Nothing End Select OnServeTabbedPropertyPage = TRUE End Function '--------------------------------------------------------------------- 'Function: OnSubmitPage() 'Description: Called when the page has been submitted for processing. 'Input Variables: PageIn,EventArg 'Output Variables: PageIn,EventArg 'Returns: True/False 'Global Variables: G_objAdminService,G_objService,L_WMI_CONNECTIONFAIL_ERRORMESSAGE, ' CONST_WMI_IIS_NAMESPACE, CONST_WMI_WIN32_NAMESPACE '--------------------------------------------------------------------- Public Function OnSubmitPage(ByRef PageIn, ByRef EventArg) Err.Clear On Error Resume Next 'Connecting to the WMI server Set G_objHTTPService = GetWMIConnection(CONST_WMI_IIS_NAMESPACE) Set G_objService = GetWMIConnection(CONST_WMI_WIN32_NAMESPACE) If Err.number <> 0 Then Call SA_ServeFailurePage (L_WMICONNECTIONFAILED_ERRORMESSAGE & " (" & HEX(Err.Number) & ")" ) OnSubmitPage = False End if 'To set the HTTP shares web settings OnSubmitPage = SetHTTPConfig(G_objHTTPService,G_objService) End Function '--------------------------------------------------------------------- 'Function: OnClosePage() 'Description: Called when the page is about to be closed. 'Input Variables: PageIn,EventArg 'Output Variables: None 'Returns: True/False 'Global Variables: None '--------------------------------------------------------------------- Public Function OnClosePage(ByRef PageIn, ByRef EventArg) OnClosePage = TRUE End Function '------------------------------------------------------------------------- 'Function: ServeTabGeneral() 'Description: For displaying outputs HTML for tab General to the user 'Input Variables: PageIn,bIsVisible 'Output Variables: PageIn 'Returns: gc_ERR_SUCCESS 'Global Variables: F_(*),L_(*) '------------------------------------------------------------------------- Function ServeTabGeneral(ByRef PageIn, ByVal bIsVisible) If (bIsVisible) Then %>
<%=L_HTTPUSAGE_TEXT%>
 
  onClick="EnableControls(false)">   <%=L_ALLIPADDRESS_TEXT%>
onClick="EnableControls(true)" >   <%=L_JUSTTHIS_IP_ADDRESS_TEXT%>
         
  <%=L_PORT_TEXT %>
 
<%=L_HTTPNOTE_TEXT%>
<% End If ServeTabGeneral = gc_ERR_SUCCESS End Function '------------------------------------------------------------------------- 'Function: ServeCommonJavaScript 'Description: Serves in initializing the values,setting the form ' data and validating the form values 'Input Variables: None 'Output Variables: None 'Returns: True/False 'Global Variables: L_(*) '------------------------------------------------------------------------- Function ServeCommonJavaScript() %> <% End Function '------------------------------------------------------------------------- 'Function name: SetHTTPConfig() 'Description: Serves in configuring IP address and port of HTTP shares web site 'Input Variables: G_objHTTPService, G_objService 'Output Variables: True or false 'Returns: None 'Global Variables: F_strIPAddress,F_nport,L_(*) 'This function configures the IP address and port of HTTP shares web site '------------------------------------------------------------------------- Function SetHTTPConfig(G_objHTTPService,G_objService) Err.Clear On Error Resume Next Dim objHTTPService 'Object to get instance of HTTP service Dim objService 'Object to get instance of CIMV2 Dim objNetWorkCon 'To get instance of IIs_WebServerSetting class Dim objServerSetting 'To get instances of IIs_WebServerSetting class Dim objNACCollection 'To get instance of IIs_WebServerSetting where site is other than HTTP Shares Dim objinst 'To get instances of IIs_WebServerSetting where site is other than HTTP shares Dim nport 'Port number Dim strWMIpath 'WMI query to get HTTP shares web site Dim strServerSettings 'To store the values obtained from ServerBindings property Dim strIPAddress 'String to store the IP address Dim arrWinsSrv 'Array to store the IP address and port number Dim arrIPAdd 'Array to store the port number Dim nIPCount 'Count for getting the IP address and port number Dim arrPort 'Array to store the port number Dim strReturnURL 'Stores Return URL Dim objConfiguredIPs 'To get instance of win32_NetworkAdapterConfiguration Dim objNICIP 'To get instances of win32_NetworkAdapterConfiguration Dim strNICQuery 'Query to get all IP addresses Dim nCount 'Count for getting the IP address and port number Dim arrIPList(13) 'Array to store the IP addresses for all NIC cards Dim nIPlistCount 'Count to get IP addresses for all NIC cards Dim strIPFlag 'Boolean value to store the validity of IP address Dim strHTTPWebSite 'HTTP shares web site name Dim strFTPSite 'FTP site name Dim strFTPpath 'FTP site path Dim nFTPIPCount 'Count for getting the IP address and port number for FTP site Dim strFTPServerBindings 'To store the values obtained from SeverBindings property for FTP site Dim arrFTPWinsSrv 'Array to store the IP address and port for FTP site Dim arrFTPIPAdd 'Array to store the IP address FTP site Dim arrFTPPort 'Array to store the port for FTP site Dim objFTPinst 'Gettings instances for FTP site Dim objFTPInstances 'Object instance for FTP site Const CONST_ARR_INDEX_IP = 0 'For IP address Const CONST_ARR_INDEX_PORT = 1 'For port number Call SA_TraceOut( SOURCE_FILE, "SetHTTPConfig") 'Getting the return URL strReturnURL = "/tasks.asp?tab1=" 'FTP site name strFTPSite = "MSFTPSVC/1" 'Assign global objects to local variables Set objHTTPService = G_objHTTPService Set objService = G_objService 'Get the HTTP shares web site name strHTTPWebSite = GetHTTPWebSite(objHTTPService) 'To get instances of Web sites other than HTTP Shares strWMIpath = "select * from " & GetIISWMIProviderClassName("IIs_WebServerSetting") & " where Name != " & Chr(34)& strHTTPWebSite & Chr(34) Set objNACCollection = objHTTPService.ExecQuery(strWMIpath) If Err.Number <> 0 Then Call SA_SetErrMsg (L_IIS_WEBSERVERCONNECTION_ERRORMESSAGE & " (" & HEX(Err.Number) & ")" ) SetHTTPConfig = false Exit Function End If 'If other web site is configured with the same IP address and port number display error For each objinst in objNACCollection If IsArray(objinst.ServerBindings) Then For nIPCount = 0 to ubound(objinst.ServerBindings) strServerSettings = objinst.ServerBindings(nIPCount) if IsIIS60Installed Then If IsObject(objinst.ServerBindings(nIPCount)) Then arrIPAdd = objinst.ServerBindings(nIPCount).IP arrPort = objinst.ServerBindings(nIPCount).Port If F_strIPAddress <> "" then If arrIPAdd = F_strIPAddress and arrPort = F_nport and IsWebsiteNotStopped(objinst.name) then Call SA_SetErrMsg (L_IIS_WEBSERVER_COULDNOTSET_ERRORMESSAGE) SetHTTPConfig = False Exit Function End if Else If arrPort = F_nport and IsWebsiteNotStopped(objinst.name) then Call SA_SetErrMsg (L_IIS_WEBSERVER_COULDNOTSET_ERRORMESSAGE) SetHTTPConfig = False Exit Function End if End if ' If F_strIPAddress <> "" End If 'If IsObject(...) Else ' If not 6.0 installed If strServerSettings <> "" then 'split the strServerSettings array to get the IP address and port arrWinsSrv = split(strServerSettings,":") arrIPAdd = arrWinsSrv(CONST_ARR_INDEX_IP) arrPort = arrWinsSrv(CONST_ARR_INDEX_PORT) If F_strIPAddress <> "" then If arrIPAdd = F_strIPAddress and arrPort = F_nport and IsWebsiteNotStopped(objinst.name) then Call SA_SetErrMsg (L_IIS_WEBSERVER_COULDNOTSET_ERRORMESSAGE) SetHTTPConfig = False Exit Function End if Else If arrPort = F_nport and IsWebsiteNotStopped(objinst.name) then Call SA_SetErrMsg (L_IIS_WEBSERVER_COULDNOTSET_ERRORMESSAGE) SetHTTPConfig = False Exit Function End if End if ' If F_strIPAddress <> "" End if End If 'If IsIIS60Installed Next End if Next 'Display error if not able to verify with other web sites IP address and port number If Err.Number <> 0 Then Call SA_SetErrMsg (L_FAILEDTO_VERIFY_IPADD_PORT_ERRORMESSAGE) SetHTTPConfig = false Exit Function End If 'To get the instance of FTP server settings strFTPpath = "select * from " & GetIISWMIProviderClassName("IIS_FtpServerSetting") & " where Name = " & chr(34) & strFTPSite & chr(34) Set objFTPInstances = objHTTPService.ExecQuery(strFTPpath) If Err.Number <> 0 Then Call SA_SetErrMsg (L_IIS_WEBSERVERCONNECTION_ERRORMESSAGE & " (" & HEX(Err.Number) & ")" ) SetHTTPConfig = false Exit Function End If 'Display error if HTTP shares site is configured at same IP address and port number as FTP site For each objFTPinst in objFTPInstances If IsArray(objFTPinst.ServerBindings) Then For nFTPIPCount = 0 to ubound(objFTPinst.ServerBindings) strFTPServerBindings = objFTPinst.ServerBindings(nFTPIPCount) If IsIIS60Installed Then If IsObject(objFTPinst.ServerBindings(nFTPIPCount)) Then arrFTPIPAdd = objFTPinst.ServerBindings(nFTPIPCount).IP arrFTPPort = objFTPinst.ServerBindings(nFTPIPCount).Port If F_strIPAddress <> "" then If arrFTPIPAdd = F_strIPAddress and arrFTPPort = F_nport then Call SA_SetErrMsg (L_IIS_WEBSERVER_COULDNOTSET_ERRORMESSAGE) SetHTTPConfig = False Exit Function ElseIf arrFTPIPAdd = "" and arrFTPPort = F_nport then Call SA_SetErrMsg (L_IIS_WEBSERVER_COULDNOTSET_ERRORMESSAGE) SetHTTPConfig = False Exit Function End if Else If arrFTPPort = F_nport then Call SA_SetErrMsg (L_IIS_WEBSERVER_COULDNOTSET_ERRORMESSAGE) SetHTTPConfig = False Exit Function End if End if 'If F_strIPAddress <> "" End If 'If IsObject(...) Else If strFTPServerBindings <> "" then 'split the strFTPServerBindings array to get the IP address and port arrFTPWinsSrv = split(strFTPServerBindings,":") arrFTPIPAdd = arrFTPWinsSrv(CONST_ARR_INDEX_IP) arrFTPPort = arrFTPWinsSrv(CONST_ARR_INDEX_PORT) If F_strIPAddress <> "" then If arrFTPIPAdd = F_strIPAddress and arrFTPPort = F_nport then Call SA_SetErrMsg (L_IIS_WEBSERVER_COULDNOTSET_ERRORMESSAGE) SetHTTPConfig = False Exit Function ElseIf arrFTPIPAdd = "" and arrFTPPort = F_nport then Call SA_SetErrMsg (L_IIS_WEBSERVER_COULDNOTSET_ERRORMESSAGE) SetHTTPConfig = False Exit Function End if Else If arrFTPPort = F_nport then Call SA_SetErrMsg (L_IIS_WEBSERVER_COULDNOTSET_ERRORMESSAGE) SetHTTPConfig = False Exit Function End if End if 'If F_strIPAddress <> "" End If ' If strFTPServerBindings <> "" End If ' If IsIIS60Installed Next End If Next 'Display error if not able to verify with FTP site IP address and port number If Err.Number <> 0 Then Call SA_SetErrMsg (L_FAILEDTO_VERIFY_IPADD_PORT_ERRORMESSAGE) SetHTTPConfig = false Exit Function End If 'Release objects Set objFTPinst = Nothing Set objFTPInstances = Nothing 'Assigning values to local variables strIPAddress = F_strIPAddress nport = F_nport 'To get instance of win32_NetworkAdapterConfiguration class strNICQuery = "select * from win32_NetworkAdapterConfiguration Where IPEnabled = true" Set objConfiguredIPs = objService.ExecQuery(strNICQuery) If Err.number <> 0 then Call SA_ServeFailurePage (L_FAILEDTOGET_IPADDRESS_ERRORMESSAGE & " (" & HEX(Err.Number) & ")" ) SetHTTPConfig = false Exit Function End If 'Getting the NIC IP addresses For each objNICIP in objConfiguredIPs arrIPList(nIPlistCount) = objNICIP.IPAddress(nCount) nIPlistCount = nIPlistCount+1 Next 'Release objects Set objConfiguredIPs = nothing Set objNICIP = nothing 'To check whether the selected IP address is a valid IP address For nCount = 0 to nIPlistCount-1 If strIPAddress = arrIPList(nCount) or strIPAddress = "" Then strIPFlag = true Exit For else strIPFlag = false End If Next 'If selected Ip address is invalid display error If strIPFlag = false then Call SA_SetErrMsg (L_INVALID_IPADDRESS_ERRORMESSAGE) SetHTTPConfig = false Exit Function End if 'Getting the IIS_WEB Server Setting instance Set objNetWorkCon = objHTTPService.ExecQuery("Select * from " & GetIISWMIProviderClassName("IIs_WebServerSetting") & " where Name=" & Chr(34)& strHTTPWebSite & Chr(34)) If Err.Number <> 0 Then Call SA_SetErrMsg (L_IIS_WEBSERVERCONNECTION_ERRORMESSAGE & " (" & HEX(Err.Number) & ")" ) SetHTTPConfig = false Exit Function End If 'Loop to set the IP address and port For each objServerSetting in objNetWorkCon If IsIIS60Installed Then Dim arrObjBindings(0) set arrObjBindings(0) = objHTTPService.Get("ServerBinding").SpawnInstance_ arrObjBindings(0).Port = nport arrObjBindings(0).IP = strIPAddress objServerSetting.ServerBindings = arrObjBindings Else objServerSetting.ServerBindings = array(strIPAddress & ":" & nport & ":") End If objServerSetting.Put_ Next 'Error while putting the web server settings If Err.Number <> 0 Then Call SA_SetErrMsg (L_COULDNOT_IIS_WEBSERVERSETTING_ERRORMESSAGE & " (" & HEX(Err.Number) & ")" ) SetHTTPConfig = false Exit Function End If 'Release the objects Set objNetWorkCon = nothing set objinst = nothing set objNACCollection = nothing set objServerSetting = nothing Set objHTTPService = nothing Set objService = nothing SetHTTPConfig = TRUE End Function '------------------------------------------------------------------------- 'Function name: GetHTTPWebSite 'Description: Get HTTP shares web site name 'Input Variables: objHTTPService 'Output Variables: None 'Global Variables: L_(*) 'Returns: HTTP shares web site name '------------------------------------------------------------------------- Function GetHTTPWebSite(objHTTPService) Err.Clear On Error Resume Next Dim strWMIpath 'WMI query Dim objSiteCollection 'Get instance of IIs_WebServerSetting class Dim objSite 'Get instances of IIs_WebServerSetting class Dim objHTTPWebService Call SA_TraceOut( SOURCE_FILE, "GetHTTPWebSite") Set objHTTPWebService = objHTTPService 'XPE only has one website, we display the site as the shared site If CONST_OSNAME_XPE = GetServerOSName() Then 'WMI query strWMIpath = "Select * from " & GetIISWMIProviderClassName("IIs_WebServerSetting") & " where Name =" & chr(34) & GetCurrentWebsiteName & chr(34) Else 'Constant for the HTTP shares web site Const CONST_MANAGEDSITENAME = "Shares" 'WMI query strWMIpath = "Select * from " & GetIISWMIProviderClassName("IIs_WebServerSetting") & " where ServerComment =" & chr(34) & CONST_MANAGEDSITENAME & chr(34) End If 'Create instance of IIs_WebServerSetting Set objSiteCollection = objHTTPWebService.ExecQuery(strWMIpath) If Err.Number <> 0 Then Call SA_ServeFailurePage (L_IIS_WEBSERVERCONNECTION_ERRORMESSAGE & " (" & HEX(Err.Number) & ")" ) Exit Function End If 'Get the HTTP shares web site name For each objSite in objSiteCollection GetHTTPWebSite = objSite.Name Exit For Next 'If HTTP shares site name is empty display error If GetHTTPWebSite = "" Then Call SA_ServeFailurePage (L_COULDNOT_SHARES_WEBSITE_ERRORMESSAGE & " (" & HEX(Err.Number) & ")" ) Exit Function End If 'Release objects Set objSite = Nothing Set objSiteCollection = Nothing Set objHTTPWebService = Nothing End Function '------------------------------------------------------------------------- 'Subroutine name: GetSystemNICConfig 'Desription: Gets all the NIC IP's from the system 'Input Variables: F_strIPAddress 'Output variables: None 'Global Variables: G_objService,CONST_WMI_WIN32_NAMESPACE,L_(*) '------------------------------------------------------------------------- Sub GetSystemNICConfig(F_strIPAddress) Err.clear On Error Resume Next Dim objConfiguredIPs 'To get instance of win32_NetworkAdapterConfiguration Dim objNICIP 'To get instances of win32_NetworkAdapterConfiguration Dim strNICQuery 'WMI query Dim nCount 'Count to get IP address for all NIC cards Dim arrIPList(13) 'Array to store all the IP addresses Call SA_TraceOut( SOURCE_FILE, "GetSystemNICConfig") 'Connecting to the WMI server Set G_objService = GetWMIConnection(CONST_WMI_WIN32_NAMESPACE) If Err.number <> 0 Then Call SA_ServeFailurePage (L_WMICONNECTIONFAILED_ERRORMESSAGE & " (" & HEX(Err.Number) & ")" ) Exit Sub End if 'WMI query strNICQuery = "select * from win32_NetworkAdapterConfiguration Where IPEnabled = true" 'Getting instance of win32_NetworkAdapterConfiguration Set objConfiguredIPs = G_objService.ExecQuery(strNICQuery) If Err.number <> 0 then Call SA_ServeFailurePage (L_FAILEDTOGET_IPADDRESS_ERRORMESSAGE & " (" & HEX(Err.Number) & ")" ) Exit Sub End If 'Populate the IP address combo box For each objNICIP in objConfiguredIPs If IsArray(objNICIP.IPAddress) Then For nCount = 0 to ubound(objNICIP.IPAddress) Redim arrIPList(ubound(objNICIP.IPAddress)) arrIPList(nCount) = objNICIP.IPAddress(nCount) If arrIPList(nCount) <> "" Then If (arrIPList(nCount) = F_strIPAddress ) Then Response.Write "" Else Response.Write "" End IF End If Next End If Next 'Release objects Set objConfiguredIPs = nothing Set objNICIP = nothing End Sub '------------------------------------------------------------------------- 'Function name: GetSystemSettings 'Description: Serves in getting the IP address(es) and port number's ' from System for HTTP shares web site 'Input Variables: None 'Output Variables: None 'Returns: True/False 'Global Variables: G_objHTTPService, CONST_WMI_IIS_NAMESPACE, L_(*) '------------------------------------------------------------------------- Function GetSystemSettings() Err.Clear On Error resume Next Dim objNACCollection 'Object to get WMI connection Dim objinst 'Getting instances of IIs_WebServerSetting Dim arrWinsSrv 'Array to store the IP address and port number Dim arrIPAdd 'Array to store the IP address Dim arrPort 'Array to store the port Dim nIPCount 'Count for getting the IP address and port number Dim strServerSettings 'To store the values obtained from ServerBindings property Dim strHTTPWebSite 'HTTP shares web site name Const CONST_ARR_INDEX_IP = 0 'For IP address Const CONST_ARR_INDEX_PORT = 1 'For port number Call SA_TraceOut( SOURCE_FILE, "GetSystemSettings") 'Connecting to the WMI server Set G_objHTTPService = GetWMIConnection(CONST_WMI_IIS_NAMESPACE) 'Get the HTTP shares web site name strHTTPWebSite = GetHTTPWebSite(G_objHTTPService) 'Getting the HTTP shares web server setting instance Set objNACCollection = G_objHTTPService.ExecQuery("Select * from " & GetIISWMIProviderClassName("IIs_WebServerSetting") & " where Name = " & Chr(34) & strHTTPWebSite & Chr(34)) If Err.Number <> 0 Then Call SA_ServeFailurePage (L_IIS_WEBSERVERCONNECTION_ERRORMESSAGE & " (" & HEX(Err.Number) & ")") GetSystemSettings = False Exit Function End If ' 'ServerBindings property is changed in IIS 60 provider ' 'Getting the IP address and port number from server bindings property For each objinst in objNACCollection If IsArray(objinst.ServerBindings) Then For nIPCount = 0 to ubound(objinst.ServerBindings) strServerSettings = objinst.ServerBindings(nIPCount) If IsIIS60Installed Then 'In 6.0 ServerBindings is an object If IsObject(objinst.ServerBindings(nIPCount)) Then arrIPAdd = objinst.ServerBindings(nIPCount).IP arrPort = objinst.ServerBindings(nIPCount).Port F_strIPAddress = objinst.ServerBindings(nIPCount).IP F_nport = objinst.ServerBindings(nIPCount).Port End If Else If strServerSettings <> "" then 'split the strServerSettings array to get the IP address and port number arrWinsSrv = split(strServerSettings,":") arrIPAdd = arrWinsSrv(CONST_ARR_INDEX_IP) arrPort = arrWinsSrv(CONST_ARR_INDEX_PORT) F_strIPAddress = arrWinsSrv(CONST_ARR_INDEX_IP) F_nport = arrWinsSrv(CONST_ARR_INDEX_PORT) End if End If 'If IsIIS60Installed Next End If Next 'Error in getting the server IP address and port number If Err.Number <> 0 Then Call SA_ServeFailurePage (L_COULDNOT_IIS_WEBSERVER_OBJECT_ERRORMESSAGE & " (" & HEX(Err.Number) & ")") GetSystemSettings = False Exit Function End If 'Set the Radion button status depending on the system settings If arrIPAdd = "" then F_strAll_IPAddress = CONST_ARR_STATUS_CHECKED F_strJustthis_IPAddress ="" F_strradIPAdd = CONST_ARR_STATUS_TRUE Else F_strJustthis_IPAddress = CONST_ARR_STATUS_CHECKED F_strAll_IPAddress = "" F_strradIPAdd = CONST_ARR_STATUS_FALSE End if 'Release objects Set objinst = Nothing Set objNACCollection = Nothing GetSystemSettings = True End Function %>