Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何列出由IIS服务器承载的所有网站(不是应用程序)?_C#_Iis - Fatal编程技术网

C# 如何列出由IIS服务器承载的所有网站(不是应用程序)?

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

我正在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 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