Просмотр веб-конфигурации IIS через PowerShell: HTTP-команды

Я настраиваю IIS на некоторых серверах, чтобы добавить запрещающие HTTP-команды в раздел фильтрации запросов. Это было сделано с использованием следующего:

Add-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' -Filter 'system.webServer/security/requestFiltering' -Value @{VERB="OPTIONS";allowed="False"} -Name Verbs -AtIndex 0

… однако я хочу иметь возможность подтвердить его наличие после его настройки. Ниже показаны некоторые свойства, но не фактический список HTTP-глаголов:

Get-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter 'system.webServer/security/requestFiltering' -Name Verbs

С тех пор я нашел следующую команду, которая показывает заголовок для «Verbs», но он пуст, несмотря на то, что «OPTIONS» присутствует в консоли администратора IIS:

Get-WebConfiguration system.webServer/security/RequestFiltering/verbs -Recurse | Select-Object Verbs

Что мне нужно добавить, чтобы перечислить присутствующие глаголы?

3
задан 24 November 2020 в 20:20
1 ответ

Попробуйте:

Get-WebConfiguration -pspath 'MACHINE/WEBROOT/APPHOST' -filter 'system.webServer/security/requestFiltering/verbs/add' | ft verb,allowed

используйте полный Xpath к узлу XML.

Иногда полезно просмотреть файл applicationhost.config, чтобы выяснить, где именно хранятся данные. Вы можете использовать инструмент Diff, чтобы увидеть различия после изменения чего-либо в пользовательском интерфейсе.

Чтобы удалить конкретный глагол, используйте:

Remove-WebConfigurationProperty  -pspath 'MACHINE/WEBROOT/APPHOST'  -filter "system.webServer/security/requestFiltering/verbs" -name "." -AtElement @{verb='OPTIONS'}
4
ответ дан 24 November 2020 в 17:27

Теги

Похожие вопросы