C# 如何列出由IIS服务器承载的所有网站(不是应用程序)?
我正在Windows Server 2003上使用IIS 6。设想是创建这些应用程序的目录,显示它们的URL(服务器上的端口)和名称。我还没有这样做,但我相信您需要使用以下WMI对象:C# 如何列出由IIS服务器承载的所有网站(不是应用程序)?,c#,iis,C#,Iis,我正在Windows Server 2003上使用IIS 6。设想是创建这些应用程序的目录,显示它们的URL(服务器上的端口)和名称。我还没有这样做,但我相信您需要使用以下WMI对象: DirectoryEntry w3svc = new DirectoryEntry(string.Format("IIS://{0}/w3svc", serverName)); foreach (DirectoryEntry site in w3svc.Children) { //these are t
DirectoryEntry w3svc = new DirectoryEntry(string.Format("IIS://{0}/w3svc", serverName));
foreach (DirectoryEntry site in w3svc.Children)
{
//these are the web sites, lookup their properties to see how to extract url
}
C#示例:
或
这是一个VB示例,但我认为您将使用以下想法:
除上述解决方案外,假设您的应用程序不是在IIS所在的同一台服务器上运行,在这种情况下,您需要编写一个TCPClient,以便在IIS服务器的IP上执行 根据定义,反向DNS指: 在计算机网络中,反向DNS 查找或反向DNS解析 (rDNS)是对 与服务器关联的域名 使用域名的给定IP地址 因特网的系统(DNS)
将从IIS获取列表的客户端应用程序位于IIS所在的同一服务器上?该脚本列出的是VDIR,而不是网站。
strComputer = "."
Set objWMIService = GetObject _
("winmgmts:{authenticationLevel=pktPrivacy}\\" _
& strComputer & "\root\microsoftiisv2")
Set colItems = objWMIService.ExecQuery("Select * from IIsWebVirtualDir")
For Each objItem in colItems
Wscript.Echo "Application Isolated: " & objItem.AppIsolated
Wscript.Echo "Application Package ID: " & objItem.AppPackageID
Wscript.Echo "Application Package Name: " & objItem.AppPackageName
Wscript.Echo "Application Root: " & objItem.AppRoot
Wscript.Echo "Installation Date: " & objItem.InstallDate
Wscript.Echo "Name: " & objItem.Name
Next