У меня есть требование использовать powershell для настройки IIS7.5 в веб-приложениях, в которых еще не развернут код (возможно, вообще, возможно, существуют старые/неработающие web.configs) в файловой системе. Я хотел бы иметь возможность делать все это на уровне APPHOST. (Примечание внизу об использовании Powershell > AppCmd).
Я могу УСТАНОВИТЬ все значения правильно, однако, будучи несколько усердным, я хотел бы также проверить, были ли значения установлены правильно, извлекая их после установки.
Вот сценарий: я могу установить это значение с помощью AppCmd, чтобы настройка применялась на уровне APPHOST с помощью флага /Commit:APPHOST. Однако я не нашел способа ПРОЧИТАТЬ значения исключительно на уровне APPHOST.
Установка кода прошла успешно:
C:\Windows\System32\inetsrv\appcmd.exe set config "webSiteName/webAppName" -section:system.webServer/security/authentication/anonymousAuthentication /enabled:"True" /commit:apphost
Однако я не могу найти способ прочитать значения с помощью AppCmd (или Powershell): запуск следующего AppCmd возвращает ошибку из-за поврежденного ранее существовавшего файла web.config в папке (конкретная ошибка не важна, так как он читает WebApp web.config вместо ApplicationHost.config/APPHOST):
C:\Windows\System32\inetsrv\appcmd.exe list config "MACHINE/WEBROOT/APPHOST/webSiteName/webAppName" -section:system.webServer/security/authentication/anonymousAuthentication
ERROR ( message:Configuration error
Filename: \\?\c:\inetpub\wwwroot\webSiteName\webAppName\web.config
Line Number: 254
Description: The configuration section 'system.runtime.caching' cannot be read because it is missing a section declaration
. )
Примечание. Я бы предпочел делать все это в Powershell вместо использования AppCmd, поэтому, если у кого-то есть синтаксис для изменения параметров APPHOST для раздела анонимной аутентификации веб-приложения, которое находится под веб-сайтом, изнутри Powershell (Get-WebConfiguration, кажется, только используйте WebApp web.config), это было бы совершенно потрясающе и очень ценно!