RegisterPorts

WSCript.Echo "done."

Sub RegisterPorts()

    Set GetWebSiteRoot = Nothing

    dim oWebServer
    dim oWebService
    dim mbRootPath
    dim bFound

    bFound = false
    mbRootPath = "IIS://localhost/W3SVC"

    set oWebService = GetObject(CStr(mbRootPath))

    if( Err.number <> 0) then
        WScript.Echo "Unable to get Root IIS Object"
        Exit Sub
    end if

    
    For Each oWebServer In oWebService
        if ((0 = StrComp(Cstr(oWebServer.Class), CStr("IIsWebServer"), 1))) then
             RegisterPort oWebServer.Name
        end if
    Next

End Sub


Sub RegisterPort(port)

            Set WshShell = CreateObject("WScript.Shell")
            Dim keyName
            keyName = "Port /LM/W3SVC/" & port & ":"
            WshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\Ports\" & keyName, "" 

            dim fpKey
            fpKey = "HKLM\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\Ports\" & keyName & "\frontpageroot" 

            dim val
            val = ReadRegKey(fpKey)

            if (val = "") then
                WshShell.RegWrite fpKey, ""
            end if

End Sub

 

Function ReadRegKey(key)

            ReadRegKey = ""
            Set WshShell = CreateObject("WScript.Shell")

            On Error Resume Next

            dim val

            val = WshShell.RegRead(key)
            ' WScript.Echo key & " = " & val
            ReadRegKey = val

end function
