appcmd.exe 'set' и 'list' команды для проверки подлинности службы - PullRequest
2 голосов
/ 06 января 2012

Извините за неописательный заголовок;Понятия не имел, как это выразить.Поэтому, когда я запускаю следующий код в командной строке

%systemroot%\system32\inetsrv\appcmd.exe list config "Default Web Site/Local\Service" -section:system.webServer/security/authentication/windowsAuthentication /clr:4

, я получаю фрагмент XML-файла, который включает

<WindowsAuthentication enabled="false authPersistNonNTLM="true">

. Я хочу включить проверку подлинности Windows для этой службы, чтобы затем запустить

%systemroot%\system32\inetsrv\appcmd.exe set config "Default Web Site/Local/service" -section:system.webServer/security/authentication/windowsAuthentication /enabled:"True" /commit:apphost 

Если я перезапущу команду orignal list, она по-прежнему будет возвращать ложное состояние включенной аутентификации windowsAuthentication.Команда set работает правильно и включает / отключает проверку подлинности windows, которую я проверяю, заходя в IIS Manager.Я полагал, что набор и список должны изменять или возвращать одно и то же значение.Мне нужно, чтобы список работал (или какая-то другая подобная команда), потому что мне нужно проверить состояние аутентификации для моих служб.Итак, вопрос в том, что я что-то упустил?Почему набор и список работают с двумя различными значениями, и как я могу получить эту команду (или аналогичную команду) для возврата состояния включения для проверки подлинности служб, которую я вижу в диспетчере IIS?

Кстати, я использую IIS 7.Не уверен, если это имеет значение или нет.Извините, если я пропустил какие-либо другие необходимые детали.Не очень знаком с IIS.

Заранее спасибо

1 Ответ

3 голосов
/ 09 января 2012

Инструмент appcmd чувствителен к слешам.

В опции list убедитесь, что вы используете только прямые косые черты, в противном случае возвращаемая информация будет получена из первого совпадения по умолчанию, а не из местоположения, которое вы запрашивали.

%systemroot%\system32\inetsrv\appcmd.exe list config "Default Web Site/Local/Service" -section:system.webServer/security/authentication/windowsAuthentication /clr:4
...