Получение всех виртуальных каталогов для веб-сайта IIS6 с использованием WMI
Я хочу перечислить все виртуальные каталоги, которые принадлежат веб-сайту с определенным именем, используя WMI и PowerShell.
Я знаю, что могу перечислить все виртуальные каталоги на сервере, используя приведенный ниже код, но как я могу отфильтровать только те, которые принадлежат конкретному сайту?
Get-WmiObject IIsWebVirtualDir -namespace "ROOT\MicrosoftIISv2"
1 ответ
Что ж, если взять простейший подход и выполнить фильтрацию на основе свойств, возвращаемых из данного примера, я бы, вероятно, решил использовать часть идентификатора сайта в свойстве Name:
Get-WmiObject IIsWebVirtualDir -namespace "ROOT\MicrosoftIISv2" | `
Where-Object { $_.name -like "W3SVC/1/*" }
В приведенном выше примере показаны только виртуальные каталоги на веб-сайте по умолчанию, настроенном для первой установки IIS. Это всегда имеет идентификатор 1.
Примечание: обратный символ `после строки является символом продолжения строки (на самом деле это символ перехода, но я избегаю EOL), как _ в Visual Basic. Я использую это, чтобы уродливые горизонтальные полосы прокрутки не отображались в блоке кода выше.
-Oisin