Microsoft PowerShell

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 19:54, 4 мая 2017.
PowerShell
Windows PowerShell icon.png
PowerShell.png
Сессия в Windows PowerShell
Парадигма Multi-paradigm: Imperative, pipeline, object-oriented, functional и reflective
Спроектировано Jeffrey Snover, Bruce Payette, James Truher (et al.)
Разработчики Microsoft
Первый   появившийся 14 ноября 2006 года
Стабильная версия 5.1.14393 / 2 августа 2016 года
Предварительный выпуск 6.0.0 Alpha 17 / 8 марта 2017 года
Печать дисциплины Strong, safe, implicit и dynamic
Платформа .NET Framework, .NET Core
OS Microsoft Windows 7 и позднее, macOS, CentOS, Ubuntu
Лицензия MIT License[1]
Расширение файла
  • .ps1 (скрипт)
  • .ps1xml (XML документ)
  • .psc1 (консольный файл)
  • .psd1 (файл данных)
  • .psm1 (модуль скрипта)
  • .pssc (файл конфигурации сессии)
  • .cdxml (XML документ с описанием cmdlet'ов)
Под влиянием
Ksh, Perl, C#, CL, DCL, SQL, Tcl, Tk,[2] Chef, Puppet

PowerShell (включающий Windows PowerShell и PowerShell Core) — это средство автоматизации задач и управления конфигурацией от Microsoft Corporation, состоящее из оболочки командной строки и языка сценариев, основанного на .NET Framework. PowerShell открывает полный доступ к COM и WMI[3], позволяя администраторам выполнять свои задачи как на локальных так и на удаленных Windows системах, так же как WS-Management и CIM позволяет управлять удаленными Linux системами и сетевыми устройствами. Будучи только компонентом Windows в начале, PowerShell стал кросс-платформенным средством с открытым исходным кодом 18 августа 2016.[Источник 1]

В PowerShell, управляющие задачи как правило выполняются xчерез cmdlets (произносится как command-lets), Которые являются специализированными .NET-классами, реализующими определенную операцию. Наборы cmdlets могут быть объединены в «сценарии», «исполняемые файлы» (которые являются автономными приложениями) или путем создания экземпляров обычных классов .NET (или объектов WMI / COM). Они работают, обращаясь к данным в разных хранилищах данных, например к файловой системе или реестру, которые становятся доступными для среды исполнения PowerShell через «провайдеров» PowerShell.

PowerShell также предоставляет хостинг-интерфейс API, с помощью которого среда исполнения PowerShell может быть встроена в другие приложения. Эти приложения затем могут использовать функциональность PowerShell для реализации определенных операций, в том числе и с помощью графического интерфейса. Эта возможность была использована Microsoft Exchange Server 2007 для раскрытия ее функций управления в виде cmdlets PowerShell и поставщиков и внедрения графических средств управления в качестве серверов PowerShell, которые вызывают необходимые cmdlets. Другие приложения Microsoft, включая Microsoft SQL Server 2008, также раскрывают интерфейс управления с помощью cmdlets[4] PowerShell.

PowerShell включает собственную расширяемую (доступную из консоли) справку, вызвать ее можно с помощью Get-Help cmdlet. Справку можно обновлять с помощью Update-Help cmdlet. В качестве альтернативы, помощь в Интернете может быть получена в каждом конкретном случае с помощью ключа -online применительно к Get-Help.

Предыстория

Каждая выпущенная версия MS-DOS и Microsoft Windows для персональных компьютеров содержала утилиту, предоставляющую интерфейс командной строки. Это были COMMAND.COM (в системах, основанных на MS-DOS, включая Windows 9x) и cmd.exe (в системах семейства Windows NT). Это были обычные интерпретаторы командной строки, имевшие лишь несколько базовых команд. Для других задач требовались отдельные консольные приложения, которые вызывались из этих оболочек. Они также имели язык сценариев (Пакетный файл|пакетные файлы), при помощи которого можно было автоматизировать различные задачи. Однако эти интерпретаторы не годились для полноценной автоматизации — частично потому, что в них отсутствовали эквиваленты многих операций графического интерфейса, а также из-за слабой функциональности языка сценариев, не позволявшего описывать достаточно сложные алгоритмы. В Windows Server 2003 ситуация была улучшена, однако поддержка сценариев всё ещё считалась недостаточной.

Microsoft пыталась решить некоторые из этих недостатков с помощью Windows Script Host, вышедшего в 1998 году в составе Windows 98, и утилиты для работы с ним из командной строки cscript.exe. Он интегрируется с Active Script и позволяет писать сценарии на совместимых языках, таких, как JScript и VBScript, используя API, предоставляемое приложениями через Component Object Model (COM). Однако у этого решения свои недочёты. Windows Script Host не интегрирован с оболочкой, отсутствует встроенная документация. Различные версии Windows также предоставляют командные интерпретаторы специального назначения (такие, как netsh.exe и WMIC) со своими собственными наборами команд. Они не интегрированы с командной оболочкой и не дают возможностей для взаимодействия.

В 2003 Microsoft начала разработку новой оболочки, называемой Monad (также известной как Microsoft Shell или MSH). Monad должен был стать новой расширяемой оболочкой командой строки, со свежим дизайном, который позволял бы автоматизировать весь спектр административных задач. Microsoft опубликовала первую публичную бета-версию Monad 17 июня 2005 года. Вторая и третья бета-версии были выпущены 11 сентября 2005 и 10 января 2006 соответственно. 25 апреля 2006 года было объявлено, что Monad переименован в Windows PowerShell для позиционирования его в качестве значительной части их технологий управления. В это же время была выпущена версия Release Candidate 1 («кандидат на выпуск»). Release Candidate 2 последовал 26 сентября 2006 года. Финальная версия (Release to Web, RTW) была выпущена 14 ноября 2006 года для Windows XP SP2 и Windows 2003. Финальная версия для Windows Vista стала доступна только 30 января 2007 года.

Последний CTP выпуск Windows PowerShell версии 2.0 был выпущен в декабре 2008 года. Финальная версия второй версии PowerShell была выпущена в составе систем Windows 7 и Windows Server 2008 R2 одновременно с их выпуском. Для остальных систем (Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008), вторая версия PowerShell стала доступна в составе комплекта Windows Management Framework 27 октября 2009 года. Кроме Windows PowerShell второй версии, в этот комплект также входят WinRM версии 2.0 и BITS 4.0 (последний доступен только для Windows Vista и Windows 2008; в Windows 7 и Windows Server 2008 R2 он встроен).

Структура

Разработчики PowerShell установили ядро грамматики на основе POSIX 1003.2.

Windows PowerShell может исполнять четыре типа команд:

  • cmdlets (.NET Framework программы, разработанные специально для PowerShell)
  • сценарии PowerShell (файлы с расширением .ps1)
  • функции PowerShell
  • автономные исполняемые программы

Если команда является автономным исполняемым файлом, PowerShell.exe запускает его в отдельном процессе; если это cmdlet, то он запускается внутри процесса PowerShell. PowerShell предоставляет интерактивный интерфейс командной строки, куда могут быть введены команды и выведены результаты их работы. Пользовательский интерфейс, основанный на консоли Win32, предлагает настраиваемое окружение. PowerShell разрешает создание "макросов" для cmdlets, которые PowerShell преобразует в исходные команды. PowerShell поддерживает именные и позиционные параметры для команд. Для cmdlet преобразование значения аргумента в параметр выполняет сам PowerShell, но для внешних исполняемых программ, аргументы преобразуются с помощью внешнего файла, независимо от интерпретации PowerShell.

PowerShell Extended Type System (ETS) основана на системе типов .NET, но с расширенной семантикой. Например, он позволяет создавать различные виды объектов, раскрывая только подмножество полей, свойств и методов данных, а также задавая настраиваемое форматирование и поведение сортировки. Эти представления сопоставляются исходному объекту с использованием файлов конфигурации на основе XML..

cmdlets

cmdlets — это специализированные команды PowerShell, которые реализуют различную функциональность. Это встроенные в PowerShell команды. cmdlets именуются по правилу Глагол-Существительное, например, Get-ChildItem, благодаря чему их предназначение понятно из названия. cmdlets выводят результаты в виде объектов или их коллекций. Дополнительно cmdlets могут получать входные данные в такой же форме и, соответственно, использоваться как получатели в конвейере. Хотя PowerShell позволяет передавать по конвейеру массивы и другие коллекции, cmdlets всегда обрабатывают объекты поочередно. Для коллекции объектов обработчик cmdlet вызывается для каждого объекта в коллекции по очереди.

Экземпляры объектов создаются в PowerShell и запускаются им при вызове. cmdlets наследуются от Cmdlet или от PSCmdlet, причём последний используется тогда, когда cmdlet необходимо взаимодействовать с исполняемой частью PowerShell. В этих базовых классах оговорены некоторые методы — BeginProcessing(), ProcessRecord() и EndProcessing(), как минимум один из которых реализация cmdlets должна перезаписать для предоставления своей функциональности. Каждый раз при запуске cmdlet эти методы вызываются PowerShell по очереди. Сначала вызывается BeginProcessing(), затем, если cmdlet передаются данные по конвейеру, ProcessRecord() для каждого элемента, и в самом конце — EndProcessing(). Класс, реализующий Cmdlet, должен иметь один атрибут .NET — CmdletAttribute, в котором указываются глагол и существительное, составляющие имя cmdlet. Популярные глаголы представлены в виде перечисления.

Реализации cmdlets могут вызывать любые доступные .NET API и могут быть написаны на любом языке .NET. PowerShell также предоставляет некоторые дополнительные API, такие, как WriteObject(), которые необходимы для доступа к специфичной для PowerShell функциональности, например, для вывода результирующих объектов в конвейер. cmdlets могут использовать API для доступа к данным напрямую или воспользоваться инфраструктурой поставщиков PowerShell, которые позволяют обращаться к хранилищам данных через уникальные пути. Хранилища данных представляются через буквы дисков и иерархическую структуру внутри них (|директории). Windows PowerShell поставляется с поставщиками для файловой системы, реестра Windows, хранилища сертификатов, а также для псевдонимов команд, переменных и функций. Другие приложения могут добавлять свои cmdlets и поставщики для доступа к своим хранилищам данных.

В PowerShell 2.0 была добавлена возможность создания cmdlets на самом PowerShell, без использования .NET-языков.

Версии

Первоначально, используя кодовое имя «Monad», PowerShell впервые была показана публично на конференции профессиональных разработчиков в сентябре 2003 года. Все основные версии поддерживаются, и каждая основная версия имеет обратную совместимость с предыдущими версиями.

PowerShell 1.0

PowerShell 1.0 был выпущен в ноябре 2006 г. для Windows XP SP2, Windows Server 2003 SP1 и Windows Vista. Это дополнительный компонент Windows Server 2008.

PowerShell 2.0

PowerShell 2.0 интегрирован с Windows 7 и Windows Server 2008 R2] и выпущен для Windows XP с пакетом обновления 3 (SP3), Windows Server 2003 с пакетом обновления 2 и Windows Vista с пакетом обновления 1.

PowerShell v2 включает в себя изменения языка сценариев и API-интерфейсов хостинга, а также включает более 240 новых командлетов.

Новые возможности PowerShell 2.0:

  • Удаленное управление PowerShell: с помощью WS-Management PowerShell 2.0 позволяет запускать сценарии и командлеты на удаленном компьютере или на большом наборе удаленных компьютеров.
  • Фоновые задания: также называется «PSJob», он позволяет асинхронно вызывать последовательность команд (скрипт) или конвейер. Задания можно запускать на локальном компьютере или на нескольких удаленных компьютерах. Интерактивный командлет в PSJob блокирует выполнение задания до тех пор, пока не будет введен пользовательский ввод.
  • Транзакции: включить командлет, а разработчики могут выполнять транзакции обработки транзакций]]. PowerShell 2.0 включает командлеты транзакций для запуска, коммитов и отката «PSTransaction», а также функций для управления транзакцией и направления ее командлету и операциям поставщика. Поставщик реестра PowerShell поддерживает транзакции.
  • Расширенные функции: это командлеты, написанные на языке сценариев PowerShell. Первоначально эта функция называлась «командлетом сценариев», но позже была переименована в «расширенные функции».
  • SteppablePipelines: это позволяет пользователю контролировать, когда функции BeginProcessing () , ProcessRecord () и EndProcessing () Вызова командлета.
  • Модули: это позволяет разработчикам сценариев и администраторам организовывать и делить PowerShell-скрипты в автономных модулях многократного использования. Код из модуля выполняется в своем собственном автономном контексте и не влияет на состояние вне модуля. Модули могут определять ограниченную среду рабочего пространства с помощью сценария. У них постоянное состояние, а также государственные и частные члены.
  • Язык данных: подмножество языка сценариев PowerShell, которое позволяет отделять определения данных от сценариев и разрешает импорт строковых ресурсов в сценарий при Runtime ( Интернационализация скриптов ).
  • Отладка скриптов: позволяет установить breakpoint s в сценарии или функции PowerShell. Точки останова могут быть установлены в строках, строках и столбцах, командах и при чтении или записи переменных. Он включает в себя набор командлетов для управления точками останова с помощью сценария.
  • Eventing: эта функция позволяет прослушивать, пересылать и воздействовать на управление и системные события. Событие позволяет хостам PowerShell уведомляться о изменениях состояния их управляемых объектов. Он также позволяет сценариям PowerShell подписываться на «ObjectEvents», «PSEvents» и «WmiEvents» и обрабатывать их синхронно и асинхронно.
  • Интегрированная среда сценариев Windows PowerShell (ISE): PowerShell 2.0 включает хост PowerShell на основе графического интерфейса, который обеспечивает интегрированный отладчик, подсветка синтаксиса, завершение табуляции и до 8 консолей PowerShell с поддержкой Unicode (Runspaces ) В пользовательском интерфейсе с вкладками, а также возможность запускать только выбранные части в скрипте.
  • Передача сетевого файла: встроенная поддержка приоритетной, дроссельной и асинхронной передачи файлов между компьютерами с использованием фоновой интеллектуальной службы передачи (BITS).
  • Новые командлеты: в том числе Out-GridView , который отображает табличные данные в объекте WPF GridView на системах.
  • Операторы новых операторов : -Split , -Join и Splatting ( @ ).
  • Обработка исключений с помощью Try-Catch-Finally: в отличие от других языков .NET это позволяет использовать несколько типов исключений для одного блока catch.
  • Nestable Here-Strings: PowerShell Here-Strings были улучшены и теперь могут встраиваться.
  • Блокировать комментарии: PowerShell 2.0 поддерживает блок комментариев, используя <# и #> в качестве разделителей.
  • Новые API-интерфейсы: новые интерфейсы API от предоставления большего контроля над синтаксическим анализатором PowerShell и рабочей средой до хоста, создания и управления коллекцией Runspaces ( RunspacePools ), а также возможность создавать Restricted Runspaces, которые разрешают использовать только настроенное подмножество PowerShell. Новые API также поддерживают участие в управляемой транзакции Windows PowerShell[Источник 2].

PowerShell 3.0

PowerShell 3.0 интегрирована с Windows 8 и с Windows Server 2012. Microsoft также сделала PowerShell 3.0 доступной для Windows 7 с пакетом обновления 1 для Windows Server 2008 с пакетом обновления 1 и для Windows Server 2008 R2 с пакетом обновления 1.

PowerShell 3.0 является частью более крупного пакета Windows Management Framework 3.0 (WMF3), который также содержит службу WinRM для поддержки удаленного взаимодействия. Microsoft выпустила несколько выпусков Community Technology Preview версий WMF3. 2 декабря 2011 года была выпущена версия Windows Management Framework 3.0 для предварительной версии предварительной версии 2 (CTP 2) для сообщества, которая была выпущена для общей доступности в декабре 2012 года и по умолчанию включена в Windows 8 и Windows Server 2012.

Новые возможности PowerShell 3.0 включают:

  • Запланированные задания: задания могут запускаться по заданному времени и дате.
  • Подключение к сеансу: сеансы можно отключить и повторно подключить. Удаленные сеансы стали более терпимыми к временным сбоям в сети.
  • Добавлена ​​улучшенная запись кода : Кодовое завершение (IntelliSense) и сниппеты. PowerShell ISE позволяет пользователям использовать диалоговые окна для заполнения параметров командлета PowerShell.
  • Поддержка делегирования: Административные задачи могут быть делегированы пользователям, у которых нет разрешений для этого типа задач, без предоставления им бесконечных дополнительных разрешений.
  • Справка по обновлению: справочную документацию можно обновить с помощью команды Update-Help.
  • Автоматическое обнаружение модулей: Модули загружаются неявно при каждом вызове команды из этого модуля. Кодовое завершение работает и для незагруженных модулей.
  • Новые команды: добавлены десятки новых модулей, включая функции управления дисками, томами, межсетевыми экранами, сетевыми подключениями и управлением принтером, ранее выполненные через WMI.

PowerShell 4.0

PowerShell 4.0 интегрирована с Windows 8.1 и Windows Server 2012 R2. Microsoft также сделала PowerShell 4.0 доступным для Windows 7 SP1, Windows Server 2008 R2 SP1 и Windows Server 2012.

Новые возможности PowerShell 4.0 включают в себя:

  • Desired State Configuration: декларативные языковые расширения и инструменты, которые позволяют развертывать и управлять данными конфигурации для систем, использующих стандарты управления DMTF и WS-Management Protocol
  • Новая политика выполнения по умолчанию: на серверах Windows политика выполнения по умолчанию теперь является RemoteSigned.
  • Save-Help: Справка теперь может быть сохранена для модулей, установленных на удаленных компьютерах.
  • Расширенная отладка: отладчик теперь поддерживает рабочие процессы отладки, удаленное выполнение сценариев и сохранение сеансов отладки во время повторных подключений PowerShell.
  • -PipelineVariable switch: новый вездесущий параметр для отображения текущего объекта конвейера в качестве переменной для программирования
  • Диагностика сети для управления физическим и виртуализованным сетевым коммутатором Hyper-V
  • Where и ForEach синтаксис метода предоставляет альтернативный метод фильтрации и итерации по объектам.

PowerShell 5.0

Windows Management Framework (WMF) 5.0 RTM, которая включает PowerShell 5.0, была повторно выпущена в сеть 24 февраля 2016 года после первоначальной версии с серьезной ошибкой. Ключевые особенности включают командлеты OneGet PowerShell для поддержки Chocolatey на основе репозитория управление пакетами и расширения поддержки управления коммутаторами на сетевые коммутаторы уровня 2 .

Новые функции в PowerShell 5.0 включают:

  • Определения классов PowerShell (свойства, методы)
  • Перечисления PowerShell .NET
  • Отладка для Runspaces PowerShell в удаленных процессах
  • Отладка для фоновых заданий PowerShell
  • Конфигурация требуемого состояния (DSC) Локальный диспетчер конфигурации (LCM) версии 2.0
  • Частичные конфигурации DSC
  • Мета-конфигурации DSC Local Configuration Manager
  • Создание ресурсов DSC с использованием классов PowerShell

PowerShell 5.1 был выпущен вместе с Windows 10 Anniversary Update 2 августа 2016 г. и в Windows Server 2016. PackageManagement теперь поддерживает прокси, PSReadLine теперь поддерживает ViMode, и были добавлены два новых командлета: Get-TimeZone и Set-TimeZone. Модуль LocalAccounts позволяет добавлять / удалять локальные учетные записи пользователей. 16 июля 2016 года был выпущен предварительный просмотр для PowerShell 5.1 для Windows Vista, Windows 7, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012 и Windows Server 2012 R2 и был выпущен 19 января 2017 года.

PowerShell 5.1 - первая версия, выпущенная в двух версиях «Desktop» и «Core». «Настольная» версия - это продолжение традиционной Windows PowerShell, работающей на полном стеке .NET Framework. Версия «Core» работает на платформе .NET Core и поставляется вместе с сервером Windows Server 2016 Nano Server. В обмен на меньшую занимаемую площадь у последнего отсутствуют некоторые функции, такие как командлеты для управления буфером обмена или присоединения компьютера к домену, командлеты WMI версии 1, командлетов и профилей журнала событий.

Расширения файлов

  • PS1 – сценарий Windows PowerShell
  • PSD1 – файл данных Windows PowerShell (для версии 2)
  • PSM1 – файл модуля Windows PowerShell (для версии 2)
  • PS1XML – файл описания форматов и типов Windows PowerShell
  • CLIXML – файл с сериализованными данными Windows PowerShell
  • PSC1 – консольный файл Windows PowerShell
  • PSSC – файл конфигурации сессии Windows PowerShell

Поддержка приложений

Утилиты и сервера

Приложение Версия cmdlets Провайдер Управление GUI
Exchange Server 2007 402 Да Да
Windows Server 2008 Да Да Нет
Microsoft SQL Server 2008 Да Да Нет
Microsoft SharePoint 2010 Да Да Нет
System Center Configuration Manager 2012 R2 400+ Да Нет
System Center Operations Manager 2007 74 Да Нет
System Center Virtual Machine Manager 2007 Да Да Да
System Center Data Protection Manager 2007 Да Нет Нет
Windows Compute Cluster Server 2007 Да Да Нет
Microsoft Transporter Suite for Lotus Domino 08.02.0012 47 Нет Нет
Microsoft PowerTools for Open XML 1.0 33 Нет Нет
IBM WebSphere MQ 6.0.2.2 44 Нет Нет
Quest Management Shell for Active Directory 1.6 95 Нет Нет
Special Operations Software Specops Command 1.0 Да Нет Да
VMware vSphere PowerCLI 6.3 R1 455 Да Да
Internet Information Services 7.0 54 Да Нет
Windows 7 Troubleshooting Center 6.1 Да Нет Да
Microsoft Deployment Toolkit 2010 Да Да Да
NetApp PowerShell Toolkit 4.2 2000+ Да Да
JAMS Scheduler – Job Access & Management System 5.0 52 Да Да
UIAutomation 0.8 432 Нет Нет
Dell Equallogic 3.5 55 Нет Нет
LOGINventory 5.8 Да Да Да
SePSX 0.4.1 39 Нет Нет

Сравнение cmdlets с аналогичными командами

В следующей таблице содержится выборка cmdlets, поставляющихся с PowerShell, с приведением максимально похожих команд из других широко известных оболочек командной строки.

Следует отметить, что данная таблица приводится для поверхностного ознакомления, она не охватывает всех возможностей представленных оболочек.

Windows PowerShell
(Cmdlet)
Windows PowerShell
(Alias)
cmd.exe / COMMAND.COM
(MS-DOS, Windows, OS/2, etc.)
Bash
(Unix, BSD, Linux, Mac OS X и т. п.)
Описание
Get-Location gl, pwd cdcd без параметров выводит текущий каталог. pwd Отображает текущий рабочий каталог
Set-Location sl, cd, chdir cd, chdir cd Меняет текущий каталог
Clear-Host cls, clear cls clear Очищает экранClear-Host реализован как предопределённая функция PowerShell.
Copy-Item cpi, copy, cp copy cp Копирует один или несколько файлов или дерево директорий (в PowerShell также можно копировать объекты других поставщиков данных)
Get-Help help, man help man Справка по командам
Remove-Item ri, del, erase, rmdir, rd, rm del, erase, rmdir, rd rm, rmdir Удаляет файл/каталог (или другой элемент в поставщиках данных PowerShell).
Rename-Item rni, ren ren, rename mv Переименовывает файл/каталог
Move-Item mi, move, mv move mv Перемещает файл/каталог в новое местоположение
Get-ChildItem gci, dir, ls dir ls Выводит все файлы/каталоги в текущем каталоге
Write-Output echo, write echo echo Выводит строки, переменные на стандартный вывод
Pop-Location popd popd popd Изменяет текущий каталог на тот, который был последним помещён в стек
Push-Location pushd pushd pushd Помещает текущий каталог в стек
Set-Variable sv, set set set Установка значения переменной/создание переменной
Get-Content gc, type, cat type cat Получает содержимое файла
Select-String sls find]], findstr grep Выводит строки, подходящие под условие
Get-Process gps, ps tlist,Available in Windows NT4, Windows 98 Resource Kit, Windows 2000 Support Tools tasklist Available in Windows XP Professional Edition and later ps Выводит все запущенные процессы
Stop-Process spps, kill kill, taskkill kill Останавливает запущенный процесс
Tee-Object tee n/a tee Передаёт входные данные в файл или переменную, затем передаёт их дальше по конвейеру

Примечания

  1. https://github.com/PowerShell/PowerShell/blob/master/LICENSE.txt
  2. Snover, Jeffrey (May 25, 2008). "PowerShell и WPF: WTF". Windows PowerShell Blog. Microsoft. 
  3. Truher, Jim (December 2007). "Extend Windows PowerShell With Custom Commands". MSDN Magazine. Microsoft. Archived from the original on 6 October 2008. 
  4. Lowe, Scott (January 4, 2007). "Exchange 2007: Get used to the command line". TechRepublic. CBS Interactive. 

Источники

  1. Windows PowerShell // Википедия. [2017—2017]. Дата обновления: 05.03.2017. URL: https://ru.wikipedia.org/wiki/Windows_PowerShell (дата обращения: 05.03.2017).
  2. PowerShell // Wikipedia. [2017—2017]. Дата обновления: 05.03.2017. URL: https://en.wikipedia.org/wiki/PowerShell (дата обращения: 05.03.2017).


Ссылки

Литература

  • Oakley, Andy (2005). Monad (AKA PowerShell). O'Reilly Media. ISBN 0-596-10009-4. 
  • Holmes, Lee (2006). Windows PowerShell Quick Reference. O'Reilly Media. ISBN 0-596-52813-2. 
  • Holmes, Lee (2007). Windows PowerShell Cookbook. O'Reilly Media. ISBN 0-596-52849-3. 
  • Watt, Andrew (2007). Professional Windows PowerShell. Wrox Press. ISBN 0-471-94693-1. 
  • Kumaravel, Arul; White, Jon; Naixin Li, Michael; Happell, Scott; Xie, Guohui; Vutukuri, Krishna C. (2008). Professional Windows PowerShell Programming: Snapins, Cmdlets, Hosts and Providers. Wrox Press. ISBN 0-470-17393-9. 
  • Kopczynski, Tyson; Handley, Pete; Shaw, Marco (2009). Windows PowerShell Unleashed (2nd ed.). Pearson Education. ISBN 978-0-672-32988-3. 
  • Jones, Don; Hicks, Jeffery (2010). Windows PowerShell 2.0: TFM (3rd ed.). Sapien Technologies. ISBN 978-0-9821314-2-8. 
  • Finke, Douglas (2012). Windows PowerShell for Developers. O'Reilly Media. ISBN 1-4493-2270-0. 
  • Wilson, Ed (2013). Windows PowerShell 3.0 Step by Step. Microsoft Press. ISBN 978-0-7356-6339-8. 
  • Wilson, Ed (2014). Windows PowerShell Best Practices. Microsoft Press. ISBN 978-0-7356-6649-8.