Оснастка 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.