Управление IIS с использованием IIS 7.0 PowerShell Snap-in
Введение в Windows PowerShell и IIS 7.0 Введение Windows PowerShell является новой программной оболочкой Microsoft и скриптовым языком. В этой короткой статье даётся краткий обзор Windows PowerShell и IIS7.0. Читая эту статью, вы получите чёткое понимание именно того, что представляет из себя Windows PowerShell, узнаете о взаимосвязи между Windows PowerShell и IIS 7.0, а также откроете для себя некоторые способы, при которых Windows PowerShell упрощает выполнение задач управления IIS. Представленная здесь информация будет полезна IT-администраторам, разработчикам программного обеспечения, тестировщикам и менеджерам. Даже скептически настроенные читатели будут убеждены в том, что Windows PowerShell является необходимым инструментом. О программной оболочке Windows PowerShell Windows PowerShell представляет собой всеобъемлющую программную оболочку следующего поколения от Microsoft, а также скриптовый язык. Рассмотрим Windows PowerShell в качестве значительного апгрейда для старой командной оболочки old cmd.exe и файлов .BAT. Пользователи могут задаться вопросом, зачем нужна новая командная оболочка, если Cmd.exe работает хорошо – и нет времени на изучение ещё одного скриптового языка. Windows PowerShell является улучшенной версией по сравнению с предыдущей оболочкой командной строки от Microsoft со своим языком сценариев. Это означает, что Windows PowerShell легче в использовании, как для простых, так и для сложных задач, и на удивление легко изучается. Некоторые улучшения в Windows PowerShell включают в себя:
В данном разделе приводятся конкретные примеры и основные моменты некоторых характеристик Windows PowerShell. В следующих разделах будет рассмотрено взаимодействие Windows PowerShell с IIS 7.0. Для ознакомления с оболочкой Windows PowerShell взгляните на пример. Рассмотрим скриншот на рисунке 1. Рисунок 1 - Основы Windows PowerShell Во-первых, обратите внимание, что оболочка Windows PowerShell выглядит как традиционная командная строка Windows. Используя Windows PowerShell, Вы быстро почувствуете себя вполне естественно за короткий период после перевода оборудования на рабочий режим. Первая команда имеет вид:
Она вызывает внутреннюю команду, в PowerShell она называется командлет ("команда-пусть"), для изменения текущей рабочего каталога с C:\ на C:\Data. Это функциональный эквивалент старой cd команды (изменение каталога). Можно заметить, что вводя на клавиатуре "set-location" ("определить местоположение") каждый раз при смене текущего каталога осуществляется обширная печать, и это нормально. Windows PowerShell обладает широким набором псевдонимов "быстрых клавиш", которые можно использовать. Командлет set-location представляет собой псевдоним sl (сокращённый вариант полного имени командлета), а также cd ("старый" способ). В этой статье используется полная версия имён командлета для удобства чтения. Вторая команда имеет вид:
Тем самым перечисляется содержание в текущем каталоге, который начинается с функции "Pow". При вводе командлетов Windows PowerShell регистр не учитывается, поэтому можно ввести командлет Get-ChildItem или GET-ChildItem. В данной статье используются все строчные буквы. Командлет get-childitem можно вызвать с помощью встроенных псевдонимов dir (для знающих Windows), ls (для пользователей Unix), а также gci для удобства ввода. Затем используйте командлет copy-item (копировать пункт) для получения копии каталога Windows PowerShell, включая все подкаталоги, в новом каталоге с именем PSBackup:
После чего сразу же удалите только что созданный каталог и всё его содержимое с помощью командлета remove-item (удалить пункт).
Прибегая к следующей команде, используйте командлет get-content (получить контент) для его извлечения из файла Hello.txt, а затем сохраните контент в новом файле HelloCopy.txt в текущем каталоге через канал данных (с символом '|') к командлету out-file (вывести в файл).
Предпоследняя команда использует get-content для отображения содержимого нового файла:
Командлет get-content приблизительно эквивалентен типу (Windows) или cat командам (Unix). Окончание мини-демо с помощью псевдонима sl для изменения рабочего каталога на корневом диске:
Теперь необходимо отметить, если бы всё, что относилось к Windows PowerShell, было выполнено общей навигацией по файловой системе и задачами манипуляции с использованием нового набора команд, не было бы смысла читать материал дальше. Резюме, введение с одним параграфом могло привести к такому неправильному предположению. Однако у Windows PowerShell есть много преимуществ по сравнению со многими текущими оболочками среды. В заключение этой вступительной части к Windows PowerShell необходимо отметить: Windows PowerShell имеет обучающий шаблон. Новая технология является бесполезной при отсутствии способа её быстрого изучения. Программисты называют этот процесс discoverability (открытостью для изучения). Оболочка Windows PowerShell была разработана с отличными характеристиками открытости изучения, что существенно облегчает данный процесс. Например, есть возможность получения списка всех командлетов, просто введя get-command в командную строку Windows PowerShell. Можно также получить подробную информацию о конкретной команде, набрав команлет get-help (получить справку), за которой следует имя команды. Обширный опыт преподавания Windows PowerShell для инженеров и менеджеров показывает, что большинство инженеров могут стать специалистами в использовании Windows PowerShell уже с одного дня практики. Windows PowerShell в обычной среде IIS 7.0 В предыдущем разделе данной статьи был произведён краткий обзор Windows PowerShell. Однако реальные преимущества использования Windows PowerShell исходит из способности этой оболочки взаимодействовать и управлять IIS 7.0. Инженеры, читающие данную статью, могут скептически отнестись к "последнему и самому значительному" заявлению. В этой статье будет кратко рассмотрена способность Windows PowerShell: многие управленческие задачи IIS7.0 можно выполнить с помощью команд и скриптов Windows PowerShell , а также с новым графическим интерфейсом IIS 7.0. В IIS 7.0 теперь есть возможность реализовывать многие задачи, используя любое из следующих действий:
Те пользователи, которые имеют значительный опыт управления программным обеспечением сервера с использованием оболочек и скриптов, не нуждаются в дополнительной мотивации. Другие пользователи, обычно применяющие точно указанные инструменты GUI, могут спросить о возможностях управления IIS 7.0 посредством командной строки или скрипта, если они уже достаточно хорошо управляются с ММС. В конце данной статьи акцентируется внимание на шести значительных преимуществах управления IIS 7.0 с помощью Windows PowerShell. Ниже приведены некоторые примеры Windows PowerShell, доступные через вебкаст, представленные архитектором Джефри Сновером и менеджером продукта IIS 7.0 Биллом Стейплом. Ссылка на вебкаст https://channel9.msdn.com/). Предположим, вы хотите изучить связанные с IIS услуги, запущенные на вашем компьютере – задача очень общая. Сначала выполните "GUI approach" (подход GUI) для запуска ММС, а затем разверните на экране категорию Services (Сервис) и Application (Приложение), после чего выберите категорию Services. Результат выглядит как скриншот на рисунке 2. Рисунок 2 – Использование ММС для получения сервисной информации Перечислить сервисы Windows, используя Windows PowerShell, довольно легко. Например, из строки Windows PowerShell используйте командлет get-service (получить сервис):
Это не очень удобно, но предположим, что требуется составить список только тех сервисов, которые начинаются с буквы 'w' и отсортировать их по статусу. Один из способов сделать это:
Можно интерпретировать эту команду для получения информации обо всех сервисах Windows, а затем отфильтровать только те сервисы, которые начинаются с буквы W'. После чего отсортировать полученный результат в зависимости от статуса службы (запуск, останов, пауза). Результат выглядит как скриншот на рисунке 3. Рисунок 3 – Использование ММС для получения сервисной информации Как было указано в предыдущем разделе, можно вводить краткие команды PowerShell. Предшествующую команду можно сократить до:
Здесь используется gsv, который является псевдонимом для get-service. Это даёт преимущество того, что -include switch (переключатель охвата) включается на позиции первого параметра, используя вид, который является псевдонимом для командлета sort-object (сортировать объект). -property switch (Переключатель свойств) находится в позиции первого параметра. Теперь предположим, что нужно остановить сервис World Wide Web Publishing (веб-публикаций). Без PowerShell можно нажать правой клавишей мыши на службу W3SVC для получения контекстного меню, а затем выбрать пункт Stop (останов). С использованием Windows PowerShell можно запустить следующую команду:
или в сокращённом виде:
Другой общей задачей является изучение процессов, запущенных на компьютере. На данный момент можно сделать прогноз, как это сделать с помощью Windows PowerShell – последовательным и логичным командлетом Windows PowerShell с присвоением имени схемы, позволяющей легко распознать команду без проблем:
Предположим, требуется просмотреть запущенные процессы, отсортированных по количеству манипуляторов, принадлежащих каждому процессу:
Можно легко получить данную информацию, используя графический интерфейс Windows Task Manager (диспетчера задач). Однако рассмотрим, что эти три команды Windows PowerShell выполняют:
Первая команда, $p = get-process, выбирает всю информацию о процессах, запущенных на главном компьютере, и сохраняет её в переменной $p. Вторая команда, $result = $p | measure-object -property handles -sum –max, передаёт захваченную информацию процесса в командлет measure-object (измерить объект), который вычисляет сумму, среднее и максимальное значение для всех используемых манипуляторов запущенных процессов, и сохраняет эту информацию в переменной $result. При просмотре переменной $result на этот момент можно увидеть следующее: Count (Счёт): 54 Обратите внимание, что в данном примере имеется в общей сложности 54 запущенных процессов, и общее количество 14750 используемых манипуляторов, то есть в среднем около 237 манипуляторов на процесс. Наибольшее количество манипуляторов было использовано процессом с 1625 манипуляторами. Третья командная строка, $results | out-file '.\ProcessHandleStats.txt', сохраняет результаты в текстовый файл. Опытные пользователи Windows PowerShell , скорее всего, объединят три вышеописанных команды в одну, в следующем виде:
Одной из характерных черт архитектуры Windows PowerShell является то, что данная оболочка является легко расширяемой на всех уровнях, как пользователями, так и сторонними компаниями. Возможность наращивания Windows PowerShell является отдельной темой самой по себе, поэтому здесь приведён только один пример. В конце этой статьи будут даны ссылки на вебкаст, где Джефри Сновер и Билл Стейплс демонстрируют замечательные командлеты Windows PowerShell вывода визуализации, разработанные сторонней компанией. Этот командлет называется out-gauge (измерить шкалу). Обратите внимание на семантическое сходство с внутренним командлетом out-file (вывести файл). Вместо отправки вывода данных в файл, что выполняет out-file, командлет out-gauge отправляет данные в визуально богатый набор элементов управления. Например, одна из команд, продемонстрированная на вебкасте, имеет вид:
Эта команда вызывает floating-on-the-screen (плавание на экране), измеритель в цифровом виде, который отображает общее число используемых манипуляторов в режиме реального времени и обновляет дисплей каждую секунду. Всё это свидетельствует о том, что широкий спектр полезных инструментов Windows PowerShell будет доступен в ближайшее время. Далее, посмотрим на пример размещения веб-сайта IIS 7.0 с помощью Windows PowerShell. Так как в предыдущих версиях IIS хранение конфигурации в метабазе, копирование веб-сайта с одного компьютера на другой не представлялось возможным. IIS 7.0 делает развёртывание веб-сайта простым решением копирования файлов. Рассмотрим этот скрипт Windows PowerShell:
Этот скрипт довольно сложный, но поучительный. При сохранении в виде файла Deploy-Application.ps1, а затем выполненный из командной строки Windows PowerShell, представлен в следующем виде:
Конечным результатом является копирование всех файлов, перечисленных в файле AppManifest.txt, расположенном на компьютере DemoServer1, на все компьютеры, перечисленные в файле RestOfFarm.txt. Одной из особенностей Windows PowerShell является то, что хорошо написанные скрипты просты для понимания, по отношению к таким альтернативам, как VBScript или Perl. Этот скрипт использует командлет get-content (получить контент) для прочтения имён компьютеров из файла RestOfFarm.txt и имён файлов из файла AppManifest.txt. Каждый цикл может быть новым для вас. Внешний цикл повторяется посредством каждого имени компьютера, сохранённого в переменной $farmList, сохраняя каждое имя в свою очередь в переменной $targetMachine. Внутренний цикл аналогичен и сохраняет каждый файл в свою очередь в $file. Командлет join-path (присоединить путь) используется для объединения строк для выработки полного исходного и конечного пути. Наконец, командлет copy-item (копировать пункт) выполняет действия по копированию, где переключатель-recurse копирует все подкаталоги и, а переключатель -force приводит в действие перезапись существующих файлов. Обратите внимание, что этот скрипт содержит всю информацию об источнике и целевом положении, закодированном на жёстком диске. Windows PowerShellобладает отличной возможностью передачи параметров, поэтому данный скрипт примера можно параметризировать для доступа к информации из командной строки. Однако эта тема выходит за рамки данной статьи. Windows PowerShell совместно с IIS 7.0 До сих пор, эта статья представляла примеры Windows PowerShell , которые применялись к любому компьютеру сервера. А сейчас мы рассмотрим некоторые командлеты Windows PowerShell, являющиеся специфическими для IIS 7.0. IIS 7.0 добавляет мощные возможности для помещения в кэш-память динамически созданного контента. IIS в течение длительного времени имеет возможность для кэша статических страниц. При получении сервера новых запросов от клиентов о недавно запрашиваемом контенте происходит следующее: вместо того, чтобы получить этот контент из внешней памяти, его можно извлечь непосредственно из кэш-памяти и вернуть клиенту. В результате, значительное улучшение производительности. IIS 7.0 расширяет эту идею, позволяя кэшировать также динамически созданные страницы. Рассмотрим этот предварительный релиз IIS 7.0, командлета Windows PowerShell:
Тема создания пользовательских командлетов выходит за рамки данной статьи, но этот пример предлагает идею разновидностей командлетов, которых можно создать и которые будут написаны сообществом IIS. Имя командлета add-iiscaching (добавить iis-кэширование). Как упоминалось ранее, Windows PowerShell имеет расширяемую архитектуру, которая позволяет группе разработчиков IIS 7.0 создавать пользовательские командлеты, работающие непосредственно с IIS. Конечным результатом этой команды является возможность динамичного кэширования запросов страниц с Qwd, Qif, Qiv, и Qis в строку запроса в отношении конкретного PHP - приложения на всех серверах IIS7.0, чьи имена хранятся в переменной $computerlist. Несмотря на то, что главное должно быть ясно, - что в IIS 7.0 можно легко активировать мощное улучшение быстродействия, используя простую команду Windows PowerShell – в статье продолжается рассмотрение подробной информации о параметрах переключения в данном примере. Первый действительный параметр, -computer $computerlist, определяет, какие компьютеры будут выполнять командлет add-iiscaching. Например, при наличии простого текстового файла с именем "MyServers.txt" с именами компьютеров, как: demo1server затем команда
считывает список серверов в переменной $computerlist. Второй действительный параметр, -path Demo, указывает на корневой путь приложения, на который требуется включить кэширование. В этом примере, поскольку значение пути не имеет пробелов, можно опустить кавычки, хотя их можно использовать следующим образом: -path "Demo" (-путь "Демо"). Третий действительный параметр, -location index.php, указывает на целевое приложение. Четвёртый действительный параметр -credential $cred, содержит информацию об аутентификации в переменной $cred. Это необходимо, так как предстоит копирование файлов на удалённые компьютеры. Эта информация может быть введена с помощью собственного командлета get-credential, как:
Эта команда запускает управление GUI, в котором пользователь может указать имя пользователя и пароль, а результаты будут сохранены в переменной $cred. Пятый действительный параметр, -extension .php, определяет тип приложения для кэширования. Шестой действительный параметр, -kernelcachepolicy 0, сообщает командлету add-iiscaching не кэшировать информацию ядра. Седьмой действительный параметр, -itemlocation 0, определяет, где расположена кэш информация отклика. 0 означает хранение данных либо у клиента, либо на сервере. Восьмой действительный параметр, -policy 1, означает продолжение кэширования, пока не будет изменений в основном элементе кэша (в отличие от кэширования для определённого интервала времени). Последний действительный параметр, -varybyquerystring"Qwd,Qif,Qiv,Qis", сообщает IIS 7.0 , какой тип отклика для кэша – в этом случае, это ответы на запросы, которые содержат Qwd, Qif, Qiv, and Qis в строке запроса. (Речь идёт о конкретных частях имени – значении пар, используемых приложением PHP в данном примере.) Заключение В данной статье было дано краткое описание Windows PowerShell, являющейся новой оболочкой среды от Microsoft и скриптовым языком. Была рассмотрена типичная навигация по файлу Windows PowerShell и примеры манипуляции, а также сделано предположение о том, что Windows PowerShell достигнет успеха за пределами существующих сред оболочки. Во втором разделе данной статьи было продемонстрировано использование Windows PowerShell в типичной среде, в которой запущен IIS 7.0. Примеры включали в себя изучение сервисов Windows и процессы на главном компьютере. Это также прибавило к списку преимуществ ещё несколько пунктов по использованию Windows PowerShell к управлению и взаимодействию с IIS 7.0. Вот шесть комментариев к таким преимуществам от ранее установленной оболочки Windows PowerShell. Они также включают в себя преимущества испытанные командой IIS.
Во втором разделе данной статьи был также рассмотрен пример скрипта Windows PowerShell, который демонстрирует возможность IIS7.0 по развёртыванию веб-серверов на нескольких компьютерах с помощью простой операции file-copy (копировать файл). В третьем разделе данной статьи было указано, каким образом разработка Windows PowerShell позволяет сообществу IIS создавать и совместно использовать командлеты данной оболочки, которые работают непосредственно с родными функциональными возможностями IIS. В частности, были представлены командлеты add-iiscaching, pre-release, которые могут задействовать новые возможности IIS 7.0 для кэширования динамически созданных страниц. Хотя в этой статье только поверхностно рассмотрено взаимодействие Windows PowerShell и IIS 7.0, это должно убедить вас, что одновременно с двумя программными обеспечениями гораздо легче, более эффективно и приятно осуществлять IT-управление. Ресурсы Windows PowerShell и IIS 7.0 См. https://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx для документации и примеров работы с Windows PowerShell, а также загрузки этой оболочки. Ссылка https://channel9.msdn.com/ на вебкаст, характеризующий Windows PowerShell, от архитектора Джеффри Сновера, и IIS 7.0 от менеджера группы продукта Билла Стейплеса, на основании чего была написана эта статья. См. https://blogs.msdn.com/PowerShell/ для просмотра полезных примеров, созданных командой Windows PowerShell. См. http://www.powergadgets.com для более полного изучения инструментов визуализации на основе Windows PowerShell. См. https://www.iis.net для получения информации о новой 7-ой версии IIS от Microsoft. Начало работы с оснасткой IIS 7.0 PowerShell Введение The IIS 7.0 PowerShell Provider представляет собой PowerShell Snap-In (оснастку PowerShell), которая позволяет управлять конфигурацией IIS7 и данными времени исполнения. Это даёт лёгкий доступ к веб-сайтам, пулам приложений, веб-приложениям, виртуальным каталогам, текущим запросам, Worker Processes (исполнителю процессов) и доменам сетевого приложения в рамках Worker Processes. Следуйте следующим пошаговым инструкциям. Они охватывают всеобъемлющую функциональность IIS 7 PowerShell Provider с использованием общих сценариев. Рекомендуется начать с первого основного анализ программы для понимания работы IIS 7.0 PowerShell Provider. Инсталляция IIS 7.0 PowerShell Snap-in Введение В следующем анализе программы рассмотрим вопрос инсталляции IIS 7.0 PowerShell Snap-in и запуска IIS PowerShell Management Console (консоли управления IIS PowerShell). Предварительные условия Для IIS 7.0 PowerShell Snap-in необходимо выполнение следующих системных требований:
Для инсталляции IIS 7.0 PowerShell Snap-in:
Для инсталляции IIS 7.0 PowerShell Snap-in PowerShell snap-ins подобно IIS 7.0 PowerShell Snap-in должны быть зарегистрированы с PowerShell. Существует два способа выполнения этого действия: Автоматическая регистрация с использованием IIS PowerShell Management Console (консоли управления IIS PowerShell). Установка IIS 7.0 PowerShell Snap-in создаст новый ярлык меню программы. С запуском этого ярлыка регистрация IIS 7.0 PowerShell Snap-in произойдёт автоматически. Нажмите на Start Menu (пуск) – выберите "All Programs" ("Все программы") - "IIS 7.0 Extensions" ("Расширение IIS 7.0") - "IIS PowerShell Management Console" ("Консоль управления IIS PowerShell"). Строка окна новой команды PowerShell установлена в положение "IIS:\" – корневой каталог пространства имён IIS Snap-in. Регистрация в ручном режиме При желании использовать IIS 7.0 PowerShell Snap-in в существующем окне командной строки PowerShell необходимо зарегистрировать IIS snap-in вручную. Это можно сделать с помощью выполнения файла IISConsole.PSC1, расположенного в каталоге "$ ENV: ProgramFiles \ IIS \ PowerShellProvider". PS C:\> & "$env:programfiles\IIS\PowerShellSnapin\iisConsole.psc1" Немного о безопасности Управление доступом пользователя Для управления конфигурацией IIS7 Вы должны обладать правами администратора. Это означает, что Вы должны запустить все работающие интерфейсы PowerShell. Убедитесь, что Вы всегда начинаете работать с PowerShell через пункт меню "Run as Administrator" ("Запуск от имени администратора"). Политика выполнения PowerShell Можно увидеть следующее сообщение об ошибке в зависимости от права доступа на выполнение PowerShell. Windows PowerShell
Несмотря на то, что все файлы IIS PowerShell Provider подписаны, PowerShell доверяет только сценариям, которые подписаны 'Trusted Publisher' ('Надёжный издатель') при политике выполнения, установленной на "Restricted" ("Для служебного пользования"). Существуют два способа решения этой проблемы: Ослабление политики выполнения Если Вы видите сообщение об ошибке вышеуказанной политики выполнения, вероятно, была произведена установка на "Restricted". При доверии к другому коду можно установить политику выполнения на "RemoteSigned" ("Удалить подписанное"), которая позволяет локальным скриптам запускаться без запроса о цифровой подписи. Выполните следующую команду в окне с повышенными правами доступа PowerShell: PS C:\> Set-ExecutionPolicy RemoteSigned Выполните следующую команду для получения дополнительной информации о политике подписания и выполнения. help about_signing Сертификаты подписи кода Microsoft к списку надёжных издателей При доверии к скриптам и исполняемым файлам IIS Provider можно нажать на "A" в приведённом выше диалоге и будет добавлен сертификат подписи кода, использованный IIS Snap-in к списку надёжных издателей. Получение списка "Надёжные издатели" можно осуществить с помощью следующей команды: dir cert:\CurrentUser\TrustedPublisher | fl Резюме В этом анализе программы был рассмотрен вопрос инсталляции IIS 7.0 PowerShell Snap-in в автоматическом или ручном режиме. PowerShell Snap-in: Навигация IIS Snap-in Namespace (пространства имён) Все знают о том, как организована файловая система. Файловые системы представляют собой иерархические пространства имён, состоящие из каталогов, которые содержат файлы и другие каталоги. PowerShell Snap-in использует это знание файловой системы и позволяет другим хранилищам информации представляться в виде иерархического пространства имён. Подобно корневому каталогу накопителя файловой системы обычно имеет место следующая установка:"C:\" the root of the IIS configuration system is "IIS:\". В подкорневом каталоге накопителя "IIS:\" можно найти "Sites" ("Сайты") и пулы приложений – сокращённо "AppPools". Организация IIS Snap-in Namespace (пространства имён) Здесь представлена структура пространства имён IIS 7.0 PowerShell Snap-in. Следующее содержимое нельзя удалять или перемещать.
Примечание: При запущенномWorker Processes можно найти объекты процесса PowerShell в Worker Process collection (коллекции Worker Process). Эта коллекция процесса расширяется по мере появления запросов и объектов AppDomain. Данный факт позволяет запрашивать IIS Worker Processes для текущих запросов на выполнение и запуск Application Domains (прикладных доменов). Теперь давайте испытаем это. Задача 1 – Знакомство с IIS Provider Namespace 1.1. Начало работы с консолью управления IIS PowerShell Нажмите на Start Menu (Меню запуска) – выберите "All Programs" ("Все программы") -"IIS 7.0 Extensions" ("Расширения IIS 7.0") - "IIS PowerShell Management Console"(Консоль управления IIS PowerShell). Строка окна новой команды PowerShell установлена в положении "IIS:\" - the root of the IIS Provider namespace (корневой каталог пространства имён провайдера IIS). 1.2. Навигация по пространству имён Напечатайте "dir" ("каталог") и обратите внимание, что сайты и пулы приложений имеют только два подкорневых каталога. PS IIS:\> dir Name В качестве следующего шага нужно внести изменения в каталог сайтов. Данное действие можно выполнить с помощью следующих команд: PS IIS:\> cd Sites PS IIS:\Sites> dir Name ID State Physical Path Bindings Если поступить опрометчиво, то можно заметить, что введение cd Si<tab> приведёт к командной строке завершения работы. А сейчас попытайтесь выполнить следующее: 1.2 Более подробно о навигации А сейчас попытайтесь выполнить следующее: PS IIS:\Sites> Get-Item 'Default Web Site' | Select-Object *
Сначала попытаемся использовать командлеты PowerShell взамен старых привычных команд DOS таких, как CD или DIR. Если есть стремление к эффективной работе с IIS 7.0 PowerShell Snap-in, это будет хорошим поводом для знакомства с этими командами. Рассмотрим, например, командлет Get-Item, который позволяет получить подробную информацию об объекте в указанном месте. В нашем случае мы получаем подробные сведения для 'Default Web Site' ('Веб-сайт по умолчанию'). При желании сохранить попытку печатания 'get-item D<tab>', а командная строка будет автоматически завершена PowerShell. Произведём вывод данных Get-Item к командлету Select-Object (Выбрать объект), при этом отобразятся все настройки конфигурации 'Default Web Site'. Резюме Этот анализ программы помог быстро ознакомиться с организацией пространства имён IIS Snap-in. Также была изучена основная команда для нахождения собственного пути вокруг пространства имён IIS. |