如何从“AppCmd.exe 列表站点”命令中获取站点名称?

如何从“AppCmd.exe 列表站点”命令中获取站点名称?

如果我在我的服务器上运行以下命令:

%windir%\system32\inetsrv\AppCmd.exe list site

我得到这个输出:

SITE "MyCompany.MyProject.WebRole_IN_0_Web" (id:1273337555,bindings:https/555.555.555.555:443:,state:Started)

我怎样才能获得站点名称:

MyCompany.MyProject.WebRole_IN_0_Web

某种令人讨厌的字符串解析是我唯一的选择吗?该服务器是 Windows Azure 实例。

答案1

知道了:

appcmd list site /text:name

给你这个:

MyCompany.MyProject.WebRole_IN_0_Web

帮助描述了其工作原理:

/text<:value>    Generate output in text format (default).
                 /text:* shows all object properties in detail view.
                 /text:<attribute> shows the value of the specified
                 attribute for each object.

我通过调用以下命令确定这name是正确的属性:

appcmd list site /xml

以 XML 格式返回(包括属性名称):

<?xml version="1.0" encoding="UTF-8"?>
<appcmd>
    <SITE SITE.NAME="MyCompany.MyProject.WebRole_IN_0_Web" SITE.ID="1273337555" bindi
gs="https/555.555.555.555:443:" state="Started" />
</appcmd>

答案2

如果您希望使用 AppCmd 启动任务配置站点/应用程序池,请查看我最近关于此内容的帖子:

http://mvolo.com/configure-iis-websites-windows-azure-startup-tasks-appcmd/

这涵盖了如何找到要编辑的站点/应用程序池,以及如何在创建站点/应用程序池配置之后而不是之前运行任务。

希望这可以帮助。

相关内容