【问题标题】:How to find IIS7 SiteID using site name on Windows 2008 using appcmd or other util?如何使用 appcmd 或其他实用程序在 Windows 2008 上使用站点名称查找 IIS7 SiteID?
【发布时间】:2012-08-30 00:27:51
【问题描述】:

我正在尝试使用 appcmd 或其他实用程序使用站点名称查找 IIS7 站点 ID,但没有找到任何方法来实现它。

【问题讨论】:

  • 对于我们这些喜欢 GUI 工具的人 - IIS 管理器 - 高级设置 - ID

标签: iis-7 appcmd


【解决方案1】:

以下命令返回站点 ID:

%systemroot%\system32\inetsrv\APPCMD list site <SiteName>

示例输出:

SITE "Default Web Site" (id:1,bindings:http/*:80:default.local,state:Started)
SITE "My Site" (id:2,bindings:http/*:80:my.local,state:Started)

【讨论】:

  • 您可以使用 /text:{property} 参数获取站点的特定属性(id、绑定、状态)。例如,仅获取 ID(仅返回“1”):APPCMD list site "Default Web Site" \text:id
  • 这在 iis 6 上对我有用,唯一的例外是我必须以管理员身份运行命令提示符
【解决方案2】:

最简单的方法是加载 IIS 管理器并单击“站点”文件夹。在“功能视图”窗格中显示的列表中应该有一个名为“ID”的列,这就是您的站点 ID。

【讨论】:

  • Dave - 当单击“站点”主文件夹时,这无疑是我们面前最简单、最即时的站点 ID 显示:) 太棒了。
【解决方案3】:

你也可以试试 Powershell get-website commandlet。如果没有 args,它将列出所有站点以及 ID。

【讨论】:

    【解决方案4】:

    这是 Powershell 的做法:

    Get-Website -Name "Default Web Site" | Select -ExpandProperty ID
    

    (将默认网站替换为您的网站名称。)

    【讨论】:

      【解决方案5】:

      将此保存为 XXX.VBS

      dim lookfor: lookfor = lcase(WScript.Arguments(0))
      dim ws: set ws = getobject("IIS://localhost/w3svc")
      for each site in ws
          if site.class = "IIsWebServer" then
              if lcase(site.ServerComment) = lookfor then
                  wscript.echo "id=" & site.Name & ", name=" & site.ServerComment
              end if
          end if
      next
      

      然后从命令行

      XXX.vbs site.tofind.com
      

      cscript XXX.vbs site.tofind.com
      

      【讨论】:

        最近更新 更多