PowerShell

Материал из Википедии — свободной энциклопедии
Текущая версия страницы покане проверялась опытными участниками и может значительно отличаться отверсии, проверенной 20 июля 2021 года; проверки требуют44 правки.
Перейти к навигацииПерейти к поиску
Windows PowerShell
Логотип программы Windows PowerShell
Скриншот программы Windows PowerShell
Сессия в Windows PowerShell
ТипОболочка операционной системы
РазработчикMicrosoft
Написана наC#[1][2] и PowerShell[2]
Операционные системыWindows XP
Windows Server 2003
Windows Vista
Windows Server 2008/2008 R2
Windows 7
Windows 8
Windows 8.1
Windows RT
Windows RT 8.1
Windows Server 2012/2012 R2
Windows 10
Windows Server 2016
Windows Server 2019
Windows 11
Windows Server 2022
Windows Server 2025
Linux
macOS
Дата выпуска14 ноября2006
Аппаратные платформыx86,x86-64,Itanium,ARM
Последняя версия7.5.3 (11 сентября2025 года)
Тестовая версия7.6.0-preview.4 (9 апреля2025 года)
Репозиторийgithub.com/PowerShell/Po…
Читаемые форматы файлов:
Windows PowerShell types (UTF-8)[вд], Windows PowerShell types[вд], Windows PowerShell formatting[вд], Windows PowerShell formatting (UTF-8)[вд], PowerShell Cmdlet Definition XML (UTF-8)[вд], PowerShell Cmdlet Definition XML[вд] и PowerShell script[вд]
Создаваемые форматы файлов:
Windows PowerShell types (UTF-8)[вд], Windows PowerShell types[вд], Windows PowerShell formatting[вд], Windows PowerShell formatting (UTF-8)[вд], PowerShell Cmdlet Definition XML (UTF-8)[вд] и PowerShell Cmdlet Definition XML[вд]
ЛицензияЛицензия MIT
Сайтdocs.microsoft.com/ru-ru…
Логотип Викисклада Медиафайлы на Викискладе

PowerShell — расширяемое средство автоматизации отMicrosoft с открытым исходным кодом[3], состоящее изоболочки синтерфейсом командной строки и сопутствующегоязыка сценариев. Впервые публично язык был продемонстрирован на Профессиональной конференции разработчиков (англ. Professional Developers Conference, PDC) в сентябре2003 года под кодовым названием Monad. Изначально средство выпущено как компонентWindows под названиемWindows PowerShell. Открытый исходный код был выпущен с началом разработкиPowerShell Core в августе2016 года.

Windows PowerShell 2.0 был выпущен в составеWindows 7,Windows 8 иWindows Server 2008 R2, а также Windows Server 2012 R2 как неотъемлемый компонент системы. Кроме того, вторая версия доступна и для других систем, таких, как Windows XP SP3, Windows Server 2003 SP2, Windows Vista SP1, Windows Vista SP2, Windows Server 2008[4] и Windows Server 2012.

Изначально PowerShell построен на базе Microsoft.NET Framework, а позднее — на.NET, и интегрирован с ними. Дополнительно PowerShell предоставляет удобный доступ кCOM,WMI иADSI, равно как и позволяет выполнять обычные команды командной строки, чтобы создать единое окружение, в котором администраторы смогли бы выполнять различные задачи на локальных и удалённых системах.

Эти административные задачи обычно выполняются с помощью командлетов (в оригинале —„cmdlets“), которые являются специализированнымиклассами .NET. Пользователь может комбинировать их вскриптах (сценариях), используя различные конструкции, утилиты командной строки и обращения к обычным классам .NET,объектамWMI илиCOM. Кроме того, можно использовать различные хранилища данных, такие, какфайловая система илиреестр Windows, которые предоставляются PowerShell посредством поставщиков (англ. providers).

PowerShell также предоставляет механизм встраивания, благодаря которому исполняемые компоненты PowerShell могут быть встроены в другие приложения. Эти приложения затем могут использовать функциональность PowerShell для реализации различных операций, включая предоставляемые через графический интерфейс. Этот подход применён вMicrosoft Exchange Server 2007 для реализации управляющей функциональности в виде командлетов PowerShell и графических утилит управления в виде оболочек PowerShell, которые вызывают необходимые командлеты. Таким образом, графический интерфейс управления находится поверх промежуточного слоя — PowerShell. Другие приложения Microsoft, включаяMicrosoft SQL Server 2008,System Center Operations Manager иSystem Center Data Protection Manager, так же предоставляют доступ к своим интерфейсам управления через командлеты PowerShell.

PowerShell имеет свою собственную расширяемую справку, доступную (в том числе из командной строки) через командлет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 года.

Последнийcommunity technology preview выпуск 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 он встроен).

Обзор

[править |править код]

Команды, исполняемые в Windows PowerShell, могут быть в форме командлетов, которые являются специализированными классами.NET, созданными с целью предоставления функциональности в PowerShell в виде сценариев PowerShell (.PS1) или являются обычнымиисполняемыми файлами. Если команда является исполняемым файлом, то PowerShell запускает её в отдельном процессе; если это команда, то она исполняется внутри процесса PowerShell. PowerShell предоставляет интерфейс командной строки, в котором можно вводить команды и отображать выводимые ими данные в текстовом виде. Этот пользовательский интерфейс, базирующийся на стандартном механизмеконсоли Windows, предоставляет настраиваемый механизм автозавершения команд, но не обладает возможностью подсветки синтаксиса, хотя при желании её можно обеспечить[5]. В PowerShell также можно создавать псевдонимы (англ. alias) для командлетов, которые при вызове преобразуются в оригинальные команды. Кроме того, поддерживаются позиционные и именованные параметры для командлетов. При выполнении командлета работа по привязке значений аргументов к параметрам выполняется самим PowerShell, но при вызове внешних исполняемых файлов аргументы передаются им для самостоятельного разбора.

Другое понятие, используемое в PowerShell, — это конвейер (англ. pipeline). Подобно конвейерам вUNIX, они предназначены для объединения нескольких команд путём передачи выходных данных одной команды во входные данные второй команды, используя оператор|. Но, в отличие от аналога в UNIX, конвейер PowerShell является полностьюобъектным, то есть данные между командлетами передаются в виде полноценных объектов соответствующих типов, а не как поток байтов. Когда данные передаются как объекты, содержащиеся в них элементы сохраняют свою структуру и типы между командлетами, без необходимости использования какой-либосериализации или посимвольного разбора данных. Объект также может содержать некоторыефункции, предназначенные для работы с данными. Они также становятся доступными для получающего их командлета. Вывод последнего командлета в конвейере PowerShell автоматически передаёт на командлетOut-Host, который создаёт текстовое представление объектов и содержащихся в них данных и выводит его на экран.

Так как все объекты PowerShell являются объектами .NET, они содержат метод.ToString(), возвращающий текстовое представление данных объекта. PowerShell использует этот метод для преобразования объекта в текст. Кроме того, он позволяет указать правила форматирования, так что текстовое представление объектов может быть настроено. Однако с целью поддержания совместимости, если в конвейере используется внешний исполняемый файл, то он получает текстовый поток, представляющий объект, и не интегрируется с системой типов PowerShell.

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

Командлеты

[править |править код]

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

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

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

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

Конвейер

[править |править код]

В PowerShell, как и в оболочках UNIX/Linux, присутствует конвейер. Этот конвейер служит для передачи выходных данных одного командлета во входные данные другого командлета. В частности, пользователь может вывести результаты командлетаGet-Process в командлетSort-Object (например, для сортировки процессов по дескрипторам), затем — вWhere-Object, чтобы отфильтровать процессы, которые, например, занимают меньше 1 МБстраничной памяти, и, в конце концов, передать результаты в командлетSelect-Object, чтобы выбрать только первые 10 процессов (по количеству дескрипторов).Концепция конвейера изначально используется в UNIX-подобных системах (см.Конвейер (UNIX)), концепция PowerShell отличается от данного. В UNIX-подобных системах вывод одной команды передаётся на следующий этап конвейера в бинарной форме, то есть являет собой фактически поток данных. Пример:dd if=/dev/zero bs=1M count=1M | bzip2 -z9 -c > ex.bz2, где поток «нулей» блоками по 1 МБ в количестве 1 миллиона раз (из устройства/dev/zero) командойdd (копирования специальных файлов) передаётся на ввод командыBzip2, которая их сжимает максимально возможно (с точки зрения алгоритма сжатияbzip2, опция-z9) и результирующий поток передаёт наstdout (опция), который, в свою очередь, перенаправляется в файлex.bz2. Результатом выполнения такой относительно короткой команды станет создание архива, внутри которого будет поток нулевых байтов размером 1 терабайт. Сам процесс создания такого архива применяет в данном случае 2 последовательных конвейера.

Сценарии

[править |править код]

PowerShell включает в себя язык сценариев сдинамическими типами, на котором можно реализовывать сложные операции с использованием командлетов. Язык сценариев поддерживает переменные, функции, конструкции ветвления (if-then-else) циклы (while,do,for иforeach), структурированную обработку ошибок и множество других возможностей, включая интеграцию с .NET. Переменные в PowerShell обозначаются префиксом$ перед именем; им может быть присвоено любое значение, включая вывод командлетов. Хотя сам языкне строго типизирован, внутри переменные сохраняются со своими типами, которые могут быть базовыми типами (англ. primitive types) или объектами. Строки могут быть заключены в одиночные кавычки или в двойные кавычки: при использовании двойных кавычек переменные, содержащиеся в строке, будут заменены своими значениями. В соответствии с синтаксисом переменных, если путь к файлу помещен в фигурные скобки с предшествующим знаком доллара (то есть${C:\foo.txt}), то это будет ссылкой на содержимое файла. Всё, что будет назначено такой переменной, будет записано в файл, и наоборот — при обращении к её содержимому будет выдано содержимое файла.

К свойствам и методам объекта можно обращаться, используя точку (.), как в синтаксисеC#. PowerShell предоставляет специальные переменные, такие, как$args, содержащую массив всех неименованных аргументов командной строки, переданных функции, или$_, ссылающуюся на текущий объект в конвейере и других конструкциях. В PowerShell также присутствуютмассивы иассоциативные массивы. Кроме того, PowerShell автоматически вычисляет арифметические выражения, введённые в командной строке, и понимает популярные аббревиатуры, такие, как GB (ГБ), MB (МБ) и KB (КБ).

В PowerShell можно создавать собственные функции, принимающие параметры, с помощью ключевого словаfunction. Проблема для многих начинающих — то, что функции принимают аргументы, разделённые не запятыми, а пробелами (как утилиты командной строки или командлеты):

  1. <function> <param1> <param2>: Вызывает функцию с двумя аргументами.

Эти аргументы могут быть привязаны к параметрам, указанным в объявлении функции. Также к ним можно обратиться через массив$args.

  1. <function>(<param1>, <param2>): вызывает функцию с одним аргументом, который является массивом из двух элементов.

PowerShell позволяет вызывать любые методы .NET, заключив ихпространство имён в квадратные скобки ([]), и затем используя пару двоеточий (::) для указаниястатического метода. Например,[System.Console]::WriteLine("PowerShell"). Объекты создаются с помощью командлетаNew-Object, добавлять к ним новые свойства можно, используя командлетAdd-Member.

Для обработки ошибок PowerShell предоставляет механизм, основанный на .NET. В случае ошибки выдаются объекты, содержащие информацию об ошибке (объектException), которые перехватываются ключевым словомtrap. Однако, поведение при возникновении ошибок настраивается. Так, можно настроить PowerShell, чтобы в случае ошибки он молча продолжал выполнение без перехвата ошибки. Во второй версии PowerShell также была добавлена конструкцияTry Catch Finally.

Сценарии, написанные в PowerShell, можно сохранять между сессиями в файлах.PS1. Затем можно использовать весь сценарий или индивидуальные функции из него. Сценарии и функции используются подобно командлетам, то есть, они могут быть командами в конвейере, им можно передавать параметры. Объекты могут прозрачно передаваться между сценариями, функциями и командлетами в конвейере. Однако выполнение сценариев PowerShell по умолчанию запрещено, и его надо включить с помощью командлетаSet-ExecutionPolicy. Сценарии PowerShell могут быть подписаныцифровой подписью для проверки их целостности.

PowerShell 2.0

[править |править код]

Microsoft выпустила PowerShell 2.0 в составе Windows 7 и Windows Server 2008 R2. Windows PowerShell 2.0 предустановлен в этих системах. Исключением является режим установки Windows Server 2008 R2 в режиме Core, где PowerShell 2.0 можно доустановить вручную. Для более старых платформ он доступен в составе Windows Management Framework. PowerShell 2.0 вносит некоторые изменения в язык сценариев и API для встраивания в дополнение к новым 240 командлетам.

Неполный список новых возможностей, включённых в PowerShell 2.0:

  • Удаленный вызов PowerShell (PowerShell Remoting). ИспользуяWS-Management, PowerShell 2.0 позволяет вызывать сценарии и командлеты на удалённых машинах (в том числе и на нескольких одновременно), отслеживать состояние их выполнения и получать результаты в виде объектов (черезсериализацию-десериализацию). Также возможно устанавливать интерактивные сессии и сессии с ограниченной функциональностью.
  • Фоновые задания (Background jobs). Возможность вызывать последовательности команд асинхронно. Работы можно запускать на локальной машине или на нескольких удалённых машинах. Работы не могут использовать интерактивные командлеты.
  • Транзакции (Transactions). Позволяют разработчикам командлетов и поставщиков реализовыватьтранзакционные операции. PowerShell 2.0 включает командлеты для инициализации, подтверждения и отката транзакций и возможности для управления транзакциями и использования их в командлетах и поставщиках.
  • Расширенные функции (Advanced Functions). Возможность разрабатывать полноценные командлеты, используя только сам PowerShell.
  • Пошаговый конвейер (SteppablePipelines). Позволяет пользователю контролировать вызов функцийBeginProcessing(),ProcessRecord() иEndProcessing() при вызове командлета.
  • Модули (Modules). Позволяют авторам сценариев и администраторам организовывать сценарии PowerShell и помещать их в самодостаточные модули. Код из модуля выполняется в своем собственном, независимом контексте и не влияет на окружение вне модуля. Используя сценарий, модули могут объявлять ограниченное окружение. Модули могут содержать публичные и приватные функции и переменные.
  • Язык данных (Data language). Подмножество языка PowerShell, которое позволяет отделять определения данных от исполняемого кода сценариев и даёт возможность импортировать в сценарий локализованные строки в процессе выполнения.
  • Отладка сценариев (Script debugging). Возможность устанавливатьточки прерывания (англ. breakpoints) в сценариях или функциях PowerShell. Точки прерывания могут быть установлены на строки, столбцы, команды или операции чтения и/или записи переменных. Присутствуют командлеты для установки и контроля точек прерывания в сценариях.
  • Обработка событий (Eventing). Эта возможность позволяет слушать, перенаправлять, и выполнять действия при возникновении событий управления или системы. Благодаря событиям хосты PowerShell могут быть оповещены о изменениях состояния в управляемых объектах. Также позволяет сценариям подписываться на ObjectEvents, PSEvents и WmiEvents и обрабатывать их синхронно и асинхронно.
  • Интегрированная среда скриптов Windows PowerShell (Windows PowerShell Integrated Scripting Environment (ISE)). PowerShell 2.0 включает графическую оболочку для языка, в которую входят встроенный отладчик, подсветка синтаксиса, автозавершение команд. Оболочка позволяет запускать несколько независимыхконсолей PowerShell с полной поддержкойЮникода в интерфейсе с закладками. Благодаря поддержке удалённого выполнения некоторые консоли могут выполняться и на других компьютерах. Кроме того, ISE позволяет выполнять только выделенные части сценариев, содержит встроенный редактор и позволяет расширять и дополнять свой интерфейс с помощью PowerShell.
  • Передача файлов по сети — встроенная поддержка передачи файлов по сети с приоритизацией, многопоточностью, возобновлением и асинхронной работой на основе технологииBackground Intelligent Transfer Service.
  • Новые командлеты — множество новых командлетов, включая, например,Out-GridView, позволяющий вывести результаты конвейера в графическую таблицу (на основеWPF), с возможностями сортировки и мгновенного поиска.
  • Новые операторы-Split,-Join и оператор подстановки (@).
  • Обработка ошибок сTry-Catch-Finally. В отличие от других .NET языков, в PowerShell можно указывать несколько типов исключений для одного блокаcatch.
  • Блочные комментарии. PowerShell 2.0 поддерживает блочные комментарии (плюс к уже имеющимся построчным#) с использованием<# и#> в качестве ограничителей.
  • Новые API: добавили разные возможности, от большего контроля надпарсером PowerShell до способности создавать ограниченные сессии (англ. restricted runspace), в которых можно выполнять лишь ограниченный набор инструкций и команд PowerShell.

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

[править |править код]

В следующей таблице содержится выборка командлетов, поставляющихся с 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-Locationgl, pwdcd[6]pwdОтображает текущий рабочий каталог
Set-Locationsl, cd, chdircd,chdircdМеняет текущий каталог
Clear-Hostcls, clearclsclearОчищает экран[7]
Copy-Itemcpi, copy, cpcopycpКопирует один или несколько файлов или дерево каталогов (в PowerShell также можно копировать объекты других поставщиков данных)
Get-Helphelp, manhelpmanСправка по командам
Remove-Itemri, del, erase, rmdir, rd, rmdel,erase,rmdir,rdrm,rmdirУдаляет файл/каталог (или другой элемент в поставщиках данных PowerShell).
Rename-Itemrni, renren,renamemvПереименовывает файл/каталог
Move-Itemmi, move, mvmovemvПеремещает файл/каталог в новое местоположение
Get-ChildItemgci, dir, lsdirlsВыводит все файлы/каталоги в текущем каталоге
Write-Outputecho, writeechoechoВыводит строки, переменные на стандартный вывод
Pop-LocationpopdpopdpopdИзменяет текущий каталог на тот, который был последним помещён в стек
Push-LocationpushdpushdpushdПомещает текущий каталог в стек
Set-Variablesv, setsetsetУстановка значения переменной/создание переменной
Get-Contentgc, type, cattypecatПолучает содержимое файла
Select-Stringslsfind,findstrgrepВыводит строки, подходящие под условие
Get-Processgps, pstlist,[8] tasklist[9]psВыводит все запущенные процессы
Stop-Processspps, killkill,[8] taskkill[9]killОстанавливает запущенный процесс
Tee-Objectteen/ateeПередаёт входные данные в файл или переменную, затем передаёт их дальше по конвейеру

Примечания

[править |править код]
  1. The powershell Open Source Project on Open Hub: Languages Page — 2006.
  2. 12https://github.com/EvanLi/Github-Ranking/blob/master/Data/github-ranking-2025-07-06.csv — 2025.
  3. PowerShell/PowerShell . GitHub. Дата обращения: 20 августа 2016. Архивировано 14 мая 2020 года.
  4. Описание Windows Management Framework . Дата обращения: 10 мая 2012. Архивировано 14 мая 2012 года.
  5. Realtime Syntax Highlighting in PowerShell Console " PowerShell и другие скрипты . Дата обращения: 2 ноября 2009. Архивировано 11 августа 2010 года.
  6. cd без параметров выводит текущий каталог.
  7. Clear-Host реализован как предопределённая функция PowerShell.
  8. 12Available in Windows NT4, Windows 98 Resource Kit, Windows 2000 Support Tools
  9. 12Available in Windows XP Professional Edition and later

Литература

[править |править код]

Ссылки

[править |править код]
У этой статьиесть 4 проблемы, помогите их исправить:
Достоверность этой статьипоставлена под сомнение.
Необходимо проверить точностьфактов идостоверность сведений, изложенных в этой статье. Соответствующую дискуссию можно найти настранице обсуждения.(29 марта 2011)
Стиль этой статьинеэнциклопедичен или нарушает нормы литературного русского языка.
Статью следует исправить согласностилистическим правилам Википедии.(18 сентября 2011)
Эта статьянуждается в переработке.Пожалуйста, уточните проблему в статье с помощьюболее конкретного шаблона.
Пожалуйста, улучшите статью в соответствии справилами написания статей.(18 сентября 2011)
Эту статью необходимоисправить в соответствии справилами Википедии об оформлении статей.
Пожалуйста, помогите улучшить эту статью.(18 сентября 2011)
Пожалуйста, после исправления проблемы удалите соответствующий шаблон. Узнать, как это сделать, можно насправочной странице.
Перейти к шаблону «.NET»
.NET
Реализации
Архитектура
Инфраструктура
Языки Microsoft
Другие языки
Windows Foundations
Компоненты
Сравнения
Будущие технологии
Информационные ресурсы
Перейти к шаблону «Компоненты Microsoft Windows»
Основные
Службы
управления
Приложения
Win32
UWP/WASDK[англ.]
Исторические
Игры
Ядро ОС
Службы
Файловые
системы
Серверы
Архитектура
Безопасность
Совместимость
Перейти к шаблону «Свободное и открытое программное обеспечение Microsoft»
Общая информация
Программное
обеспечение
Приложения
Игры
Языки
программирования
Фреймворки и
средства разработки
Операционные
системы
Прочее
Лицензии
Связанные темы
Источник —https://ru.wikipedia.org/w/index.php?title=PowerShell&oldid=149825669
Категории:
Скрытые категории: