This may help - how to do it in vbscript - shows the object and how to manipulate it. Don't ask me how to do it in that new fangled .net stuff !
'---------------------------------------------------------------------------------------------------
' This function searches a computer for a specified Web Site, and
' displays information about the site.
'
' findweb [--computer|-c COMPUTER]
' <--website|-w WEBSITE>
' [--help|-?]
'
'COMPUTER Computer on which users exists
'WEBSITE1,WEBSITE2 Virtual Web Sites on which directories will be created
'NAME1,PATH1,NAME2,PATH2 Virtual Directories names and paths to create
'
'Example 1* * * * * * * * mkwebdir -c MyComputer -w "Default Web Site","Another Web Site"
' -v "Virtual Dir1","c:\ inetpub\wwwroot\dir1","Virtual Dir2","c:\ inetpub\wwwroot\dir2"
'
'---------------------------------------------------------------------------------------------------
' Force explicit declaration of all variables.
Option Explicit
On Error Resume Next
Dim oArgs, ArgNum
Dim ArgComputer, ArgWebSites, ArgVirtualDirs, ArgDirNames(), ArgDirPaths(), DirIndex
Dim ArgComputers
Set oArgs = WScript.Arguments
ArgComputers = Array("LocalHost")
ArgWebSites = "1"
ArgNum = 0
While ArgNum < oArgs.Count
* * * * Select Case LCase(oArgs(ArgNum))
* * * * * * * * Case "--computer","-c":
* * * * * * * * * * * * ArgNum = ArgNum + 1
* * * * * * * * * * * * If (ArgNum >= oArgs.Count) Then
* * * * * * * * * * * * * * * * Call DisplayUsage
* * * * * * * * * * * * End If* * * *
* * * * * * * * * * * * ArgComputers = Split(oArgs(ArgNum), ",", -1)
* * * * * * * * Case "--website","-w":
* * * * * * * * * * * * ArgNum = ArgNum + 1
* * * * * * * * * * * * If (ArgNum >= oArgs.Count) Then
* * * * * * * * * * * * * * * * Call DisplayUsage
* * * * * * * * * * * * End If* * * *
* * * * * * * * * * * * ArgWebSites = oArgs(ArgNum)
* * * * * * * * Case "--virtualdir","-v":
* * * * * * * * * * * * ArgNum = ArgNum + 1
* * * * * * * * * * * * If (ArgNum >= oArgs.Count) Then
* * * * * * * * * * * * * * * * Call DisplayUsage
* * * * * * * * * * * * End If* * * *
* * * * * * * * * * * * ArgVirtualDirs = Split(oArgs(ArgNum), ",", -1)
* * * * * * * * Case "--help","-?"
* * * * * * * * * * * * Call DisplayUsage
* * * * * * * * Case Else:
* * * * * * * * * * * * ArgWebSites = oArgs(ArgNum)
* * * * End Select* * * *
* * * * ArgNum = ArgNum + 1
Wend
Dim foundSite
Dim compIndex
Dim bindInfo
Dim aBinding, binding
for compIndex = 0 to UBound(ArgComputers)
* * * * set foundSite = findWeb(ArgComputers(compIndex), ArgWebSites)
* * * * if isObject(foundSite) then
* * * * * * * * Trace " Web Site Number = "&foundSite.Name
* * * * * * * * Trace " Web Site Description = "&foundSite.ServerComment
* * * * * * * * aBinding=foundSite.ServerBindings
* * * * * * * * if (IsArray(aBinding)) then
* * * * * * * * * * * * if aBinding(0) = "" then
* * * * * * * * * * * * * * * * binding = Null
* * * * * * * * * * * * else
* * * * * * * * * * * * * * * * binding = getBinding(aBinding(0))
* * * * * * * * * * * * end if
* * * * * * * * else
* * * * * * * * * * * * if aBinding = "" then
* * * * * * * * * * * * * * * * binding = Null
* * * * * * * * * * * * else
* * * * * * * * * * * * * * * * binding = getBinding(aBinding)
* * * * * * * * * * * * end if
* * * * * * * * end if
* * * * * * * * if (IsArray(binding)) then
* * * * * * * * * * * * Trace " Hostname = "&binding(2)
* * * * * * * * * * * * Trace " Port = "&binding(1)
* * * * * * * * * * * * Trace " IP Address = "&binding(2)
* * * * * * * * end if
* * * * else
* * * * * * * * Trace "No matching web found."
* * * * end if
next
function getBinding(bindstr)
* * * * Dim one, two, ia, ip, hn
* * * *
* * * * one=Instr(bindstr,":")
* * * * two=Instr((one+1),bindstr,":")
* * * *
* * * * ia=Mid(bindstr,1,(one-1))
* * * * ip=Mid(bindstr,(one+1),((two-one)-1))
* * * * hn=Mid(bindstr,(two+1))
* * * *
* * * * getBinding=Array(ia,ip,hn)
end function
Function findWeb(computer, webname)
* * * * On Error Resume Next
* * * * Dim websvc, site
* * * * dim webinfo
* * * * Dim aBinding, binding
* * * * set websvc = GetObject("IIS://"&computer&"/W3svc")
* * * * if (Err <> 0) then
* * * * * * * * exit function
* * * * end if
* * * * ' First try to open the webname.
* * * * set site = websvc.GetObject("IIsWebServer", webname)
* * * * if (Err = 0) and (not isNull(site)) then
* * * * * * * * if (site.class = "IIsWebServer") then
* * * * * * * * * * * * ' Here we found a site that is a web server.
* * * * * * * * * * * * set findWeb = site
* * * * * * * * * * * * exit function
* * * * * * * * end if
* * * * end if
* * * * err.clear
* * * * for each site in websvc
* * * * * * * * if site.class = "IIsWebServer" then
* * * * * * * * * * * * '
* * * * * * * * * * * * ' First, check to see if the ServerComment
* * * * * * * * * * * * ' matches
* * * * * * * * * * * * '
* * * * * * * * * * * * If site.ServerComment = webname Then
* * * * * * * * * * * * * * * * set findWeb = site
* * * * * * * * * * * * * * * * exit function
* * * * * * * * * * * * End If
* * * * * * * * * * * * aBinding=site.ServerBindings
* * * * * * * * * * * * if (IsArray(aBinding)) then
* * * * * * * * * * * * * * * * if aBinding(0) = "" then
* * * * * * * * * * * * * * * * * * * * binding = Null
* * * * * * * * * * * * * * * * else
* * * * * * * * * * * * * * * * * * * * binding = getBinding(aBinding(0))
* * * * * * * * * * * * * * * * end if
* * * * * * * * * * * * else
* * * * * * * * * * * * * * * * if aBinding = "" then
* * * * * * * * * * * * * * * * * * * * binding = Null
* * * * * * * * * * * * * * * * else
* * * * * * * * * * * * * * * * * * * * binding = getBinding(aBinding)
* * * * * * * * * * * * * * * * end if
* * * * * * * * * * * * end if
* * * * * * * * * * * * if IsArray(binding) then
* * * * * * * * * * * * * * * * if (binding(2) = webname) or (binding(0) = webname) then
* * * * * * * * * * * * * * * * * * * * set findWeb = site
* * * * * * * * * * * * * * * * * * * * exit function
* * * * * * * * * * * * * * * * End If
* * * * * * * * * * * * end if
* * * * * * * * end if
* * * * next
End Function
'---------------------------------------------------------------------------------
Sub Display(Msg)
* * * * WScript.Echo Now & ". Error Code: " & Hex(Err) & " - " & Msg
End Sub
Sub Trace(Msg)
* * * * WScript.Echo Msg* * * *
End Sub
Sub DisplayUsage()
* * * * WScript.Echo " findweb [--computer|-c COMPUTER]"
* * * * WScript.Echo " [WEBSITE]"
* * * * WScript.Echo " [--help|-?]"
* * * * WScript.Echo ""
* * * * WScript.Echo "Finds the named web on the specified computer."
* * * * WScript.Echo "Displays the site number, description, host name, port,"
* * * * WScript.Echo "and IP Address"
* * * * WScript.Echo ""
* * * * WScript.Echo "Note, WEBSITE is the Web Site on which the directory will be created."
* * * * WScript.Echo "The name can be specified as one of the following, in the priority specified:"
* * * * WScript.Echo " Server Number (i.e. 1, 2, 10, etc.)"
* * * * WScript.Echo " Server Description (i.e ""My Server"")"
* * * * WScript.Echo " Server Host name (i.e. ""www.domain.com"")"
* * * * WScript.Echo " IP Address (i.e., 127.0.0.1)"
* * * * WScript.Echo ""
* * * * WScript.Echo "Example findweb -c MACHINE www.mycompany.com"
* * * * WScript.Quit
End Sub
'---------------------------------------------------------------------------------