Как я могу получить только имя сайта из команды "AppCmd.exe list site"?

Если я запускаю следующую команду на моем сервере:

%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.

2 ответа

Решение

Понял:

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>

Если вы хотите настроить пул сайта / приложения с помощью задачи запуска AppCmd, посмотрите мой недавний пост об этом:

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

Здесь описывается, как найти пул сайта / приложения для редактирования, а также как запустить задачу ПОСЛЕ создания конфигурации сайта / приложения, а не до этого.

Надеюсь это поможет.

Другие вопросы по тегам