Как я могу получить только имя сайта из команды "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/
Здесь описывается, как найти пул сайта / приложения для редактирования, а также как запустить задачу ПОСЛЕ создания конфигурации сайта / приложения, а не до этого.
Надеюсь это поможет.