Эффективное программирование в Windows PowerShell



Pdf просмотр
страница1/3
Дата02.12.2016
Размер0.49 Mb.
Просмотров695
Скачиваний0
ТипРеферат
  1   2   3

Эффективное программирование в
Windows PowerShell
Разбираться в Windows PowerShell и получать от него больше.
Keith Hill Copyright © 2007-2009 3/8/2009

Содержание
Введение.........................................................................................................................................................1
Часть 1: Четыре командлета - ключи, открывающие PowerShell.................................................................1
Ключ #1: Get-Command........................................................................................................................1
Ключ #2: Get-Help..................................................................................................................................2
Ключ #3: Get-Member...........................................................................................................................5
Ключ #4: Get-PSDrive.............................................................................................................................7
Дополнение для PowerShell 2.0...........................................................................................................8
Часть 2: Понимание вывода объектов...........................................................................................................9
Вывод - это всегда объект .NET ...........................................................................................................9
Функция возвращает все, что не попало в поток вывода................................................................10
Другие типы вывода, которые не могут быть захвачены.................................................................13
Часть 3: Как объекты передаются по конвейеру.........................................................................................14
Часть 4: Разнообразие вывода - скаляры, коллекции и пустые наборы - о, боже!..................................17
Скаляры...............................................................................................................................................17
Работа с коллекциями........................................................................................................................18
Работа с пустыми наборами..............................................................................................................19
Часть 5: Используй объекты, Люк. Используй объекты!............................................................................21
Часть 6: Как форматируется вывод.............................................................................................................25
Часть 7: Режимы синтаксического разбора PowerShell..............................................................................35
Часть 8: Параметры привязки элементов конвейера ByPropertyName (по имени).................................40
Часть 9: Параметры привязки элементов конвейера ByValue (по значению)...........................................43
Часть 10: Регулярные выражения – один из мощнейших инструментов PowerShell...............................48
Дополнение для PowerShell 2.0.........................................................................................................49
Часть 11: Сравнение массивов.....................................................................................................................50
Часть 12: Старайтесь использовать Set-PSDebug -Strict в своих сценариях ..............................................53
Примечание для PowerShell 2.0.........................................................................................................54
Часть 13: Комментирование строк в файле сценария................................................................................55
Дополнение для PowerShell 2.0.........................................................................................................56
Дополнительные материалы.......................................................................................................................56

Введение
Я большой поклонник серии книг по эффективному программированию, таких как Effective COM и
Effective XML. Не пытаясь быть слишком самонадеянным, я хочу продемонстрировать некоторые приёмы, накопленные мной за последние пару лет использования Windows PowerShell в интерактивном режиме и написания производственных и тестовых скриптов. Эти приемы были созданы на PowerShell
1.0. Там, где это необходимо, добавлен раздел Обновление для PowerShell 2.0, в котором поясняются изменения, необходимые с предстоящим выходом версии 2.0. В заключение, ряд примеров иллюстрирует повышение функциональности PowerShell с помощью расширений, разработанных сообществом PowerShell Community Extensions. Эти расширения можно загрузить с http://www.codeplex.com/PowerShellCX
Часть 1: Четыре командлета - ключи, открывающие PowerShell
Эта часть относится скорее к основам PowerShell, чем к его эффективному применению. Тем не менее, эти четыре командлета имеют жизненно важное значение для выяснения того, что может PowerShell, и делает их заслуживающими внимания. Эти четыре командлета - то, что вы должны выучить в первую очередь. Они просты в использовании, но помогут вам начать использовать PowerShell эффективно.
Ключ #1: Get-Command
Этот командлет - лекарство от пустоты, приглашения PowerShell в никуда. В самом деле, вы только что установили PowerShell, запустили его, и теперь любуетесь этим:
А что дальше-то? Многие приложения страдают этим - "пустой экран смерти". Вы загрузили приложение, установили его, запустили - и теперь перед вами пустая рамка окна или документ, в котором ничего нет.
Зачастую нет ничего, что могло бы вам подсказать, как начать пользоваться новым приложением.
Командлет Get-Command позволит вам начать работу с PowerShell, показав список всех доступных команд. Это касается и ваших старых консольных приложений, пакетных файлов, сценариев VBScript и т. д. По существу, любой исполняемый файл может быть запущен из PowerShell. Конечно же, вы устанавливали PowerShell не только для того, чтобы запускать свои старые скрипты и приложения. Вы хотите узнать, что может PowerShell. Попробуйте вот так:
1

PS> Get-Command
CommandType Name Definition
----------- ---- ----------
Cmdlet Add-Content Add-Content [-Path] [-Value] По умолчанию, Get-Command выводит список всех командлетов, предоставляемых PowerShell. Отметим, что Get-Command является одним из них. Get-Command может предоставить и больше информации, однако как заставить его сделать это? Чтобы выяснить это, мы перейдем ко второй команде, с которой вам необходимо познакомиться, и которая очень часто используется в PowerShell.
Ключ #2: Get-Help
Командлет Get-Help предоставляет справочные материалы по различным разделам, включая то, что делает определенный командлет, какие параметры он может иметь и обычно содержит примеры использования команд. Он также предоставляет общую справочную информацию, например, о масках в именах файлов или об операторах. Допустим, вы хотите посмотреть все разделы справки PowerShell. Это легко, достаточно ввести:
PS> Get-Help *
Name Category Synopsis
---- -------- -------- ac Alias Add-Content asnp Alias Add-PSSnapin
Get-Command Cmdlet Возвращает базовые сведения о команд...
Get-Help Cmdlet Отображает сведения о командлетах и ...
Alias Provider Предоставляет доступ к псевдонимам W...
Environment Provider Предоставляет доступ к переменным ср...
FileSystem Provider Поставщик PowerShell для доступа к ф...
Function Provider Предоставляет доступ к функциям, опр...
Registry Provider Предоставляет доступ к разделам и зн...
Variable Provider Предоставляет доступ к переменным Wi...
Certificate Provider Обеспечивает доступ к хранилищам сер...
about_globbing HelpFile См. справку по подстановочным знакам about_history HelpFile Получение команд, введенных в команд...
about_if HelpFile Команда языка, используемая для выпо...
about_line_editing HelpFile Редактирование команд в командной ст...
about_location HelpFile Доступ к объектам из рабочего местоп...
about_logical_operator HelpFile Операторы, которые можно использоват...
А если вы хотите посмотреть общие справочные разделы, наберите
2

PS> Get-Help about*
Name Category Synopsis
---- -------- -------- about_alias HelpFile Использование альтернативных имен ко...
about_arithmetic_operators HelpFile Операторы, которые используются в ко...
about_array HelpFile Компактная структура размещения элем...
Давайте теперь попробуем применить Get-Help к командлету Get-Command и посмотрим, что мы еще можем получить с помощью Get-Command:
PS> Get-Help get-command -detailed
ИМЯ
Get-Command
ОПИСАНИЕ
Возвращает базовые сведения о командлетах и о других элементах команд Windows
PowerShell.
СИНТАКСИС
Get-Command [[-argumentList] ] [-verb ] [-noun ]
[-totalCount ] [-syntax] [-pSSnapIn ] []
Get-Command [[-name] ] [[-argumentList] ] [-commandType
{ | | | | |
|



Поделитесь с Вашими друзьями:
  1   2   3


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал