Поделиться через


Оснастка PowerShell: навигация по пространству имен оснастки IIS

Томас Демл

Все знакомы с организацией файловой системы. Файловые системы — это иерархические пространства имен, состоящие из каталогов, содержащих файлы и другие каталоги. Оснастка PowerShell использует эту общность в файловой системе и позволяет предоставлять другие хранилища данных в виде иерархического пространства имен. Как и корень диска файловой системы, как правило C:\ , корень системы конфигурации IIS — "IIS:".

Под корневым диском "IIS:" вы найдете "Сайты" и пулы приложений — "AppPools" вкратце.

Организация пространства имен оснастки IIS

Ниже приведена структура пространства имен оснастки IIS PowerShell. Следующие контейнеры нельзя удалить или переместить.

  • IIS:\

    • Сайты

      • Коллекция сайтов

        • Приложения и виртуальные каталоги
    • AppPools

      • WorkerProcesses
    • SslBindings

Примечание. Если рабочие процессы запущены, объекты процесса PowerShell будут находиться в коллекции Рабочих процессов. Эта коллекция Process дополнена объектами Request и AppDomain. Это позволяет запрашивать рабочие процессы IIS для выполнения запросов и запуска доменов приложений.

Теперь попробуем.

Задача 1. Знакомство с пространством имен поставщика IIS

1.1. Запуск консоли управления IIS PowerShell

В меню Пуск выберите "Все программы" - "Расширения IIS 7.0" - "Консоль управления IIS PowerShell". Для запроса нового командного окна PowerShell задано значение "IIS:" — корневой каталог пространства имен поставщика IIS.

1.2. Навигация по пространству имен

Введите "dir" и обратите внимание, что сайты и пулы приложений являются единственными двумя каталогами под корнем.

PS IIS:\> dir
Name
----
Sites
AppPools

В качестве следующего шага мы хотим перейти в каталог Sites. Это можно сделать с помощью следующих команд:

PS IIS:\> cd Sites
PS IIS:\Sites> dir
Name             ID   State      Physical Path                  Bindings
----             --   -----      -------------                  --------
Default Web Site 1    Started    f:\inetpub\wwwroot             http *:80:

Если вы предприимчивы, вы заметите, что ввод cd Si<tab> даст вам завершение в командной строке.

Теперь попробуйте следующее:

1.2. Дополнительные элементы навигации

Теперь попробуйте следующее:

PS IIS:\Sites> Get-Item 'Default Web Site' | Select-Object *

PSPath                     : IIsProviderSnapIn\WebAdministration::\\THDLAP\Sites\Default Web Site
PSParentPath               : IIsProviderSnapIn\WebAdministration::\\THDLAP\Sites
PSChildName                : Default Web Site
PSDrive                    : IIS
PSProvider                 : IIsProviderSnapIn\WebAdministration
PSIsContainer              : True
State                      : Started
name                       : Default Web Site
id                         : 1
serverAutoStart            : True
bindings                   : {binding, binding}
limits                     : Microsoft.Web.Administration.ConfigurationElement
logFile                    : Microsoft.Web.Administration.ConfigurationElement
traceFailedRequestsLogging : Microsoft.Web.Administration.ConfigurationElement
applicationDefaults        : Microsoft.Web.Administration.ConfigurationElement
virtualDirectoryDefaults   : Microsoft.Web.Administration.ConfigurationElement
applicationPool            : DefaultAppPool
enabledProtocols           : http
userName                   :
password                   :
physicalPath               : f:\inetpub\wwwroot
Attributes                 : {name, id, serverAutoStart, state}
ChildElements              : {bindings, limits, logFile, traceFailedRequestsLogging...}
ElementTagName             : site
IsLocallyStored            : True
Methods                    : {Start, Stop}
RawAttributes              : {name, id, serverAutoStart, state}
Schema                     : Microsoft.Web.Administration.ConfigurationElementSchema

При первой попытке использовать командлет PowerShell вместо старых добрых команд DOS, таких как CD или DIR. Если вы хотите эффективно работать со оснасткой IIS PowerShell, рекомендуется ознакомиться с этими командами.

Get-Item например, — это команда, которая позволяет получить сведения об элементе в указанном расположении. В нашем случае мы получаем сведения о веб-сайте по умолчанию (если вы хотите сохранить ввод, попробуйте get-item D<tab>, и командная строка будет автоматически заполнена PowerShell). Выходные данные Get-Item передаются в командлет Select-Object и отображаются все параметры конфигурации веб-сайта по умолчанию.

Итоги

В этом пошаговом руководстве кратко описано, как организовано пространство имен оснастки IIS. Вы также узнали о некоторых базовых командах для поиска в пространстве имен IIS.