Windows powershell ise tutorial
Содержание:
- Библиотеки классов
- Требования к подсистеме Windows PowerShell
- Развертывание на Nano Server
- Как запустить Windows PowerShell
- How to start with It?
- ПОДРОБНОЕ ОПИСАНИЕ
- Требования к операционной системе
- Совместимость с Windows PowerShell
- Язык PowerShell
- Причины ошибок в файле Powershell.exe
- ПОИСК ЗНАЧЕНИЙ NULL
- Рабочие процессы Windows PowerShell
- What is Windows PowerShell ISE
- Использование УСКОРИТЕЛя типов [вмисеарчер]
- Отключить PowerShell в Windows 10
- ИСПОЛЬЗОВАНИЕ КОМАНДЛЕТА GET-CIMINSTANCE
- How to debug in PowerShell ISE?
- Действия
- Параллельное выполнение
Библиотеки классов
System. Management. Automation. это пространство имен является корневым для Windows PowerShell. Он содержит классы, перечисления и интерфейсы, необходимые для реализации пользовательских командлетов. В частности, класс System. Management. Automation. командлет является базовым классом, из которого должны быть производными все классы командлетов. Дополнительные сведения о командлетах см. в разделе.
System. Management. Automation. Provider . это пространство имен содержит классы, перечисления и интерфейсы, необходимые для реализации поставщика Windows PowerShell. в частности, класс System. Management. Automation. Provider. кмдлетпровидер является базовым классом, из которого должны быть производными все классы поставщика Windows PowerShell.
Microsoft. PowerShell. Commands. это пространство имен содержит классы для командлетов и поставщиков, реализуемых Windows PowerShell. Аналогичным образом рекомендуется создать yourname. Пространство имен Commands для этих командлетов, которые вы реализуете.
System. Management. Automation. Host . это пространство имен содержит классы, перечисления и интерфейсы, которые командлет использует для определения взаимодействия между пользователем и Windows PowerShell.
System. Management. Automation. internal это пространство имен содержит базовые классы, используемые другими классами пространства имен. Например, класс System. Management. Automation. internal. кмдлетметадатааттрибуте является базовым классом для класса System. Management. Automation. CmdletAttribute .
Требования к подсистеме Windows PowerShell
Windows PowerShell 4.0 предназначен для обратной совместимости с Windows PowerShell 3.0 и Windows PowerShell 2.0. Командлеты, поставщики, оснастки, модули и сценарии, написанные для Windows PowerShell 2.0, выполняются и в Windows PowerShell 3.0, и в Windows PowerShell 4.0 без изменений.
Однако из-за изменений в политике активации среды выполнения в Microsoft .NET Framework 4 основные программы Windows PowerShell, написанные для Windows PowerShell 2.0 и скомпилированные с помощью среды CLR 2.0, не могут выполняться без изменения в Windows PowerShell 3.0, которые компилируются в среде CLR 4.0.
Подсистеме Windows PowerShell 2.0 требуется Microsoft .NET Framework версии не ниже 2.0.50727. Этому требованию удовлетворяет Microsoft .NET Framework 3.5 с пакетом обновления 1 (SP1). Этому требованию не удовлетворяет Microsoft .NET Framework 4 и более поздних версий.
Дополнительные сведения о добавлении или установке подсистемы Windows PowerShell 2.0 и требуемых версий Microsoft .NET Framework см. в статье Установка подсистемы Windows PowerShell 2.0. Дополнительные сведения о запуске подсистемы Windows PowerShell 2.0 см. в статье Запуск подсистемы Windows PowerShell 2.0.
Развертывание на Nano Server
В этих указаниях предполагается, что Nano Server — это операционная система для удаленного управления, в которой уже работает какая-либо версия PowerShell. Дополнительные сведения см. в разделе о средстве создания образов Nano Server.
Двоичные файлы PowerShell можно развернуть двумя разными способами:
- Автономно — подключите виртуальный жесткий диск Nano Server и распакуйте содержимое ZIP-файла в выбранное расположение в этом образе.
- В сети — передайте ZIP-файл через сеанс PowerShell и распакуйте его в выбранное расположение.
В обоих случаях требуется ZIP-пакет выпуска Windows 10 семейства x64. Выполните команды в экземпляре PowerShell с ролью администратора.
Автономное развертывание PowerShell
- С помощью любой служебной программы ZIP распакуйте пакет в каталог, находящийся внутри подключенного образа Nano Server.
- Отключите образ и загрузите его.
- Подключитесь к встроенному экземпляру Windows PowerShell.
- Следуйте инструкциям, чтобы создать конечную точку удаленного взаимодействия с помощью [].
Автономное PowerShell в сети
Разверните PowerShell в Nano Server, выполнив действия ниже.
-
Подключитесь к встроенному экземпляру Windows PowerShell.
-
Скопируйте файл на экземпляр Nano Server:
-
Войдите в сеанс:
-
Извлеките ZIP-файл
-
Если вам требуется удаленное взаимодействие на основе WSMan, следуйте инструкциям, чтобы создать конечную точку удаленного взаимодействия с помощью [].
Как запустить Windows PowerShell
Здесь всё достаточно просто. Виндовс Пауэр Шелл — это обычный компонент операционной системы, который имеет свой исполняемый файл. Чтобы его открыть, можно воспользоваться следующим алгоритмом:
- Зайти в «Пуск». Значок располагается внизу экрана с левой стороны.
- Прописать в поисковой строке фразу «PowerShell», переключив клавиатуру на английскую раскладку.
- В результате поиска высветится значок приложения, по которому надо будет кликнуть ЛКМ один раз.
- При необходимости эту иконку можно перетащить на рабочий стол, чтобы каждый раз не выполнять перечисленные манипуляции, а сразу открывать утилиту двойным нажатием на её ярлык.
К сведению! Приведённым выше алгоритмом можно пользоваться всегда для открытия того или иного системного софта, предустановленного приложения.
How to start with It?
In any of the operating system (Windows7,8 or 10 or any server operating system like windows server 2012 or windows server 2012 r2) search for “Windows PowerShell ISE”, then it will display like below:
Windows PowerShell ISE Download
Apart from the above method, you can also run it from Run box. Click on Windows+R to open the Run box and then type powershell_ise.exe and click on Enter. This will also open the PowerShell ISE.
How to find Current Version of PowerShell?
We can easily get the current version of PowerShell installed in the machine by executing the below command in the command window.
Once you run the above command it will display various details like PSVersion, BuildVersion, PSCompatiableVersion, CLRVersion etc. like below:
Find current version of Windows PowerShell
ПОДРОБНОЕ ОПИСАНИЕ
WQL — это язык запросов инструментарий управления Windows (WMI) (wmi), который используется для получения информации от WMI.
Для выполнения запроса WMI в Windows PowerShell не требуется использовать WQL.
Вместо этого можно использовать параметры командлетов Get-WmiObject или Get-CimInstance. Запросы WQL выполняются несколько быстрее, чем стандартные команды Get-WmiObject и улучшенная производительность очевидна, когда команды выполняются на сотнях систем. Однако следует убедиться, что время, затрачиваемое на написание успешного запроса WQL, не перевешивает повышение производительности.
Основные инструкции WQL, для которых необходимо использовать WQL, — SELECT, WHERE и from.
Требования к операционной системе
Windows PowerShell 5.1
Windows PowerShell 5.1 выполняется в следующих версиях Windows: Для запуска Windows PowerShell 5.1 установите Windows Management Framework 5.1. Дополнительные сведения см. в статье Установка и настройка WMF 5.1.
Версия Windows | Требования к системе |
---|---|
Windows Server 2019 | Устанавливается по умолчанию |
Windows Server 2016 | Устанавливается по умолчанию |
Windows Server 2012 R2 | Установите Windows Management Framework 5.1 |
Windows Server 2012 | Установите Windows Management Framework 5.1 |
Windows Server 2008 R2 с пакетом обновления 1 (SP1) | Установите Windows Management Framework 5.1 |
Windows 10 версии 1607 и выше | Устанавливается по умолчанию |
Windows 10 версии 1507, 1511 | Установите Windows Management Framework 5.1 |
Windows 8.1 | Установите Windows Management Framework 5.1 |
Windows 7 с пакетом обновления 1 (SP1) | Установите Windows Management Framework 5.1 |
Windows PowerShell 5.0
Windows PowerShell 5.0 работает в следующих версиях Windows. Для запуска Windows PowerShell 5.0 установите Windows Management Framework 5.1. Дополнительные сведения см. в статье Установка и настройка WMF 5.1. Windows Management Framework 5.1 заменяет Windows Management Framework 5.0.
Версия Windows | Требования к системе |
---|---|
Windows Server 2019 | Более поздняя версия устанавливается по умолчанию |
Windows Server 2016 | Более поздняя версия устанавливается по умолчанию |
Windows Server 2012 R2 | Установите Windows Management Framework 5.1 |
Windows Server 2012 | Установите Windows Management Framework 5.1 |
Windows Server 2008 R2 с пакетом обновления 1 (SP1) | Установите Windows Management Framework 5.1 |
Windows 10 версии 1607 и выше | Более поздняя версия устанавливается по умолчанию |
Windows 10 версии 1507, 1511 | Устанавливается по умолчанию |
Windows 8.1 | Установите Windows Management Framework 5.1 |
Windows 7 с пакетом обновления 1 (SP1) | Установите Windows Management Framework 5.1 |
Windows PowerShell 4.0
Windows PowerShell 4.0 выполняется в следующих версиях Windows: Чтобы запустить Windows PowerShell 4.0, установите указанную версию Windows Management Framework для вашей операционной системы.
Версия Windows | Требования к системе |
---|---|
Windows 8.1 | Устанавливается по умолчанию |
Windows Server 2012 R2 | Устанавливается по умолчанию |
Windows 7 с пакетом обновления 1 (SP1) | Установите Windows Management Framework 4.0 |
Windows Server 2008 R2 с пакетом обновления 1 (SP1) | Установите Windows Management Framework 4.0 |
Windows PowerShell 3.0
Windows PowerShell 3.0 выполняется в следующих версиях Windows: Чтобы запустить Windows PowerShell 3.0, установите указанную версию Windows Management Framework для вашей операционной системы.
Версия Windows | Требования к системе |
---|---|
Windows 8 | Устанавливается по умолчанию |
Windows Server 2012 | Устанавливается по умолчанию |
Windows 7 с пакетом обновления 1 (SP1) | Установите Windows Management Framework 3.0 |
Windows Server 2008 R2 с пакетом обновления 1 (SP1) | Установите Windows Management Framework 3.0 |
Windows Server 2008 с пакетом обновления 2 (SP2) | Установите Windows Management Framework 3.0 |
Совместимость с Windows PowerShell
Жизненный цикл поддержки PowerShell не охватывает модули, которые поставляются за пределами пакета выпуска PowerShell 7. Например, использование модуля , входящего в состав Windows Server, поддерживается в соответствии с Жизненный цикл поддержки Windows.
PowerShell 7 обладает более высокой совместимостью с существующими модулями PowerShell, написанными для Windows PowerShell.
Дополнительные сведения см. в статье About Windows PowerShell compatibility (О совместимости Windows PowerShell) и в Список совместимости модулей.
Примечание
Модуль WindowsPSModulePath в PowerShell 7 больше не требуется и не поддерживается.
Язык PowerShell
PowerShell – это объектно-ориентированный скриптовой язык программирования. Он используется для написания команд управления всеми компонентами операционной системы Windows в оболочке Windows PowerShell, а также для написания сценариев автоматизации задач администрирования в интегрированной среде сценариев Windows PowerShell (ISE). Язык PowerShell хоть и создан для задач администрирования, он является полноценным скриптовым языком программирования, так как имеет программные конструкции, которые присутствуют в каждом языке программирования, такие как: условия, циклы, обработка ошибок, работа с переменными, объектами, массивами.
Язык PowerShell имеет единый синтаксис написания команд и структуру именования этих команд по принципу «Глагол-Существительное», что делает данный язык интуитивно понятным как для программистов, так и для системных администраторов.
Более подробно о программировании на данном языке можете посмотреть в материале — Программирование на языке PowerShell.
Причины ошибок в файле Powershell.exe
Проблемы Powershell.exe могут быть отнесены к поврежденным или отсутствующим файлам, содержащим ошибки записям реестра, связанным с Powershell.exe, или к вирусам / вредоносному ПО.
Более конкретно, данные ошибки powershell.exe могут быть вызваны следующими причинами:
- Поврежденные ключи реестра Windows, связанные с powershell.exe / Windows.
- Вирус или вредоносное ПО, которые повредили файл powershell.exe или связанные с Windows программные файлы.
- Другая программа злонамеренно или по ошибке удалила файлы, связанные с powershell.exe.
- Другая программа находится в конфликте с Windows и его общими файлами ссылок.
- Поврежденная загрузка или неполная установка программного обеспечения Windows.
ПОИСК ЗНАЧЕНИЙ NULL
Поиск значений NULL в WMI является сложной задачей, так как это может привести к непредсказуемым результатам. Значение NULL не равно нулю и не является эквивалентным или пустой строкой. Некоторые свойства класса WMI инициализированы, а другие — нет, поэтому поиск значений NULL может не работать для всех свойств.
Чтобы найти значения NULL, используйте оператор is со значением NULL.
Например, следующие команды получают процессы, имеющие значение NULL для свойства Инталлдате. Команды возвращают множество процессов.
В отличие от этого, следующая команда возвращает учетные записи пользователей, имеющие значение NULL для свойства Description. Эта команда не возвращает никаких учетных записей пользователей, хотя большинство учетных записей пользователей не имеют значения для свойства Description.
Чтобы найти учетные записи пользователей, не имеющие значения для свойства Description, используйте оператор равенства, чтобы получить пустую строку. Чтобы представить пустую строку, используйте две последовательные одинарные кавычки.
Рабочие процессы Windows PowerShell
Рабочий процесс — это последовательность связанных программируемых операций, в ходе которых выполняются длительные задачи или скоординированные действия на нескольких устройствах или управляемых узлах. Преимущества рабочего процесса в сравнении с использованием обычного скрипта заключаются в возможности одновременного выполнения действия по отношению ко многим устройствам и в возможности автоматического восстановления при сбоях. Рабочий процесс Windows PowerShell представляет собой скрипт Windows PowerShell, который использует Windows Workflow Foundation. В то время как рабочий процесс прописан в синтаксисе Windows PowerShell и запускается Windows PowerShell, его обработка выполняется в Windows Workflow Foundation.
Основная структура
Рабочий процесс Windows PowerShell начинается с ключевого слова рабочего процесса , за которым следует текст скрипта, заключенный в фигурные скобки. Имя рабочего процесса следует за ключевым словом Workflow , как это показано в следующем синтаксисе. Имя рабочего процесса соответствует имени модуля Runbook службы автоматизации.
Чтобы добавить параметры в рабочий процесс, используйте ключевое слово param , как показано в следующем синтаксисе. Портал управления предложит пользователю предоставить значения этих параметров при запуске модуля runbook. В этом примере используется дополнительный атрибут Parameter, который указывает, обязателен ли этот параметр.
Именование
Имя рабочего процесса должно соответствовать формату «глагол-существительное», принятому в Windows PowerShell. Список утвержденных глаголов для использования можно найти в статье Approved Verbs for Windows PowerShell Commands (Утвержденные глаголы для команд Windows PowerShell) . Имя рабочего процесса должно соответствовать имени модуля Runbook в службе автоматизации. При импорте модуля Runbook имя файла должно соответствовать имени рабочего процесса и должно заканчиваться на .ps1.
Ограничения
Полный список ограничений и различий синтаксиса между Windows PowerShell и рабочими процессами Windows PowerShell см. в разделе Различия синтаксиса между сценариями и рабочими процессами сценариев.
What is Windows PowerShell ISE
Now, we will discuss what it is and what are the advantages of PowerShell ISE.
What is PowerShell?
Windows PowerShell is a shell (the shell is a user interface that gives you access to various services of an operating system) developed by Microsoft for purposes of task automation and configuration management. This powerful shell is based on the .NET framework and it includes a command-line shell and a scripting language.
What is Windows PowerShell ISE?
It is a scripting environment where you can run commands and write, test, and debug scripts in a single Windows-based graphic user interface with multiline editing, tab completion, syntax coloring, selective execution, context-sensitive help, and support for right-to-left languages.
It stands for PowerShell Integrated Scripting Environment.
Использование УСКОРИТЕЛя типов [вмисеарчер]
Ускоритель типа создает объект Манажементобжектсеарчер из строки инструкции WQL. Объект Манажементобжектсеарчер имеет множество свойств и методов, но самый простой метод — это метод Get, который вызывает заданный WMI-запрос и возвращает результирующие объекты.
используя , вы получаете простой доступ к классу платформа .NET Framework манажементобжектсеарчер. Это позволяет запрашивать Инструментарий WMI и настраивать способ выполнения запроса.
Чтобы использовать ускоритель типа , выполните следующие действия.
- Приведите строку WQL в объект Манажементобжектсеарчер.
- Вызовите метод Get объекта Манажементобжектсеарчер.
Например, следующая команда приводит к появлению запроса SELECT ALL, сохраняет результат в переменной $bios, а затем вызывает метод Get объекта Манажементобжектсеарчер в переменной $bios.
Примечание. по умолчанию отображаются только выбранные свойства объекта. Эти свойства определяются в Types.ps1XML-файле.
Для приведения запроса или переменной можно использовать ускоритель типа . В следующем примере для приведения переменной используется ускоритель типа . Результат такой же.
При использовании ускорителя типа строка запроса преобразуется в объект Манажементобжектсеарчер, как показано в следующих командах.
Этот формат команды работает с любым запросом. Следующая команда возвращает значение свойства Name класса WMI Win32_Bios.
Эту операцию можно выполнить в одной команде, хотя команда немного сложнее интерпретировать.
В этом формате вы используете ускоритель типа для приведения строки запроса WQL к Манажементобжектсеарчер, а затем вызываете метод Get для объекта—ALL в одной команде. круглые скобки (), которые заключают приведенную строку в прямой Windows PowerShell для приведения строки перед вызовом метода.
Отключить PowerShell в Windows 10
Прежде чем продолжить, рекомендуется создать точку восстановления системы. Теперь следуйте приведенным ниже советам, чтобы отключить Windows PowerShell в Windows 10:
1] Отключить PowerShell в Windows 10 с помощью политики безопасности
Локальная политика безопасности предлагает пользователям способ заблокировать доступ PowerShell в Windows 10. Для этого следуйте приведенным ниже инструкциям:
- Нажмите «Пуск», введите «Локальная политика безопасности» и выберите результат в списке меню.
- Перейдите на левую панель и разверните Политики ограниченного использования программ.
- Щелкните правой кнопкой мыши Дополнительные правила и выберите Новое правило хеширования вариант.
- Если вы не найдете способ расширить Политики ограниченного использования программ затем щелкните правой кнопкой мыши Политики ограниченного использования программ и выберите Новые политики ограниченного использования программ.
Если у вас не запускается редактор локальной групповой политики, то прочитайте эту статью
В окне New Has Rule нажмите на Просматривать вариант. Теперь откройте проводник с помощью клавиш Windows + E, введите следующий путь в адресной строке и нажмите Enter:
%SystemRoot%\system32\WindowsPowerShell\v1.0
Это позволит найти 32-разрядную версию PowerShell. Выберите powershell.exe из списка, а затем щелкните Открыть > Применить> ОК.
Отключить PowerShellISE
Если вы хотите отключить PowerShellISE на своем компьютере с Windows 10, выберите из списка powershell_ise.exe (вместо powershell.exe).
В окне локальной политики безопасности щелкните правой кнопкой мыши значок Дополнительные правила в разделе «Политики ограниченного использования программ» и нажмите кнопку Новое правило хеширования, а затем выберите Просматривать.
Снова откройте проводник и скопируйте и вставьте путь, указанный ниже, в адресную строку. Затем нажмите клавишу Enter, чтобы выбрать 64-разрядную версию PowerShell.
%SystemRoot%\SysWOW64\WindowsPowerShell\v1.0
На следующей странице прокрутите вниз и выберите параметр powershell.exe, а затем щелкните значок Открыть.
Примечание: Вам нужно выбрать опцию powershell_ise.exe, если вы хотите отключить PowerShellISE.
Затем нажмите Подать заявление а затем выберите Ok кнопка.
После выполнения вышеуказанных шагов перезагрузите компьютер, чтобы сохранить изменения. Это отключит доступ к Powershell на вашем ПК.
2] Отключить PowerShell в Windows 10 с помощью групповой политики
Редактор локальной групповой политики — это мощный инструмент, доступный в Windows 10 Pro или Enterprise, который упрощает несколько задач на ПК.
Пользователи с версией Windows 10 Pro или Enterprise могут использовать инструмент групповой политики для блокировки PowerShell. Выполните следующие шаги, чтобы отключить PowerShell с помощью групповой политики:
- Прежде всего, нажмите кнопки Windows + R сочетание клавиш, чтобы открыть диалоговое окно «Выполнить».
- Введите gpedit.msc и нажмите Enter.
- В окне редактора локальной групповой политики перейдите по указанному ниже пути:
Конфигурация пользователя > Административные шаблоны > Система
Перейдите на правую панель и дважды щелкните значок Не запускать указанные приложения Windows политика.
- На следующей странице нажмите на Включено, как показано на изображении выше. Затем перейдите в Опции разделов и нажмите на Показать.
- Теперь вам нужно открыть новую ячейку, тип powershell.exe, и щелкните Ok. Это отключит доступ к PowerShell.
- Вы также можете отключить интерфейс PowerShell ISE. Для этого откройте новую ячейку, введите powershell_ise.exe и нажмите кнопку ОК.
- Однако, если вам нужно отключить PowerShell 7, введите pwsh.exe в новой ячейке, а затем щелкните Ok.
- Наконец, нажмите Применить > ОК чтобы сохранить изменения.
После завершения вышеуказанного процесса вы больше не сможете получить доступ к Powershell.
Отключить PowerShell 7 в Windows 10
Если на вашем устройстве установлен PowerShell 7, вы можете отключить его, удалив его с компьютера. Вот шаги, которые вам необходимо выполнить:
- Щелкните правой кнопкой мыши кнопку Пуск
- Выберите «Параметры».
- В приложении «Настройки» выберите категорию «Приложения».
- Затем выберите Приложения и функции вариант на левой панели.
- Теперь перейдите на правую панель, прокрутите вниз и выберите приложение PowerShell.
- Нажмите кнопку «Удалить».
- Если Windows попросит вас подтвердить, нажмите кнопку Удалить еще раз.
Таким образом, вы можете отключить доступ пользователя к PowerShell версии 7.
ИСПОЛЬЗОВАНИЕ КОМАНДЛЕТА GET-CIMINSTANCE
начиная с Windows PowerShell 3,0, для выполнения WQL-запросов можно использовать командлет Get-CimInstance.
Get-CimInstance получает экземпляры классов, совместимых с CIM, включая классы WMI. командлеты CIM, появившиеся Windows PowerShell 3,0, выполняют те же задачи, что и командлеты WMI. командлеты CIM соответствуют стандартам WS-Management (WSMan) и стандарту модель CIM (CIM), который позволяет командлетам использовать те же методы для Windows управления компьютерами и компьютерами, на которых работают другие операционные системы.
Следующая команда использует командлет Get-CimInstance для выполнения WQL-запроса.
Любой запрос WQL, который можно использовать с Get-WmiObject, также можно использовать с Get-CimInstance.
Get-CimInstance возвращает объект CimInstance, а не ManagementObject, который Get-WmiObject возвращает, но объекты весьма похожи.
How to debug in PowerShell ISE?
One of the biggest advantages of using it is that we can easily debug PowerShell script.
Note: Before start debugging, we need to first Save the script.
Once you save the script, Right-click on the line where you want to put the debugger and click on “Toggle Brealpoint” like below:
Debug PowerShell Script
Or you can also put the cursor on the line where you want to attach the debugger and then press F9. The debugger will appear like below:
Debug PowerShell Script using PowerShell ISE Steps
Then you can click on “run script” icon in the toolbar or you can also press F5 which will start the debugging
How to debug PowerShell Script using PowerShell ISE?
Once it reaches the debugger point it will stay in that line. Then you can use F10 to debug line by line and also you can use F11 for step over. You can press “Shift + F5” to stop debugging. The debugging shortcuts same like any other Microsoft IDE.
It will also show a message in the console once it Hit breakpoint like below:
Steps to debug PowerShell Script using PowerShell ISE
Действия
Действие — это конкретная задача в рабочем процессе. Так же как скрипт состоит из одной или нескольких команд, рабочий процесс состоит из одного или нескольких действий, которые выполняются в последовательности. Рабочий процесс Windows PowerShell автоматически преобразует множество командлетов Windows PowerShell в действия при выполнении рабочего процесса. Если указать один из этих командлетов в модуле Runbook, соответствующее действие фактически запускается в Windows Workflow Foundation. Для командлетов, для которых не существует соответствующего действия, рабочий процесс Windows PowerShell автоматически запустит командлет в действии . Существует набор командлетов, которые исключены и не могут использоваться в рабочем процессе, если они явно не включены в блок . Дополнительные сведения об этих понятиях см. в статье Использование действий в рабочих процессах сценариев.
Действия рабочих процессов совместно используют набор общих параметров для настройки их работы. Сведения об общих параметрах рабочего процесса см. в статье about_WorkflowCommonParameters.
Параллельное выполнение
Одним из преимуществ рабочих процессов Windows PowerShell является возможность выполнять набор команд параллельно, а не последовательно, как это делается в стандартном скрипте. Это особенно полезно в модулях Runbook, так как они могут выполнять несколько действий, требующих значительного времени. Например, модуль Runbook может выполнять подготовку группы виртуальных машин. Вместо выполнения процедур подготовки последовательно действия могут выполняться одновременно, повышая общую эффективность. Модуль Runbook продолжит работу только после выполнения всех действий.
Можно использовать ключевое слово Parallel , чтобы создать блок скрипта с несколькими командами, которые будут выполняться параллельно. Для этого используется приведенный ниже синтаксис. В этом случае действия Activity1 и Activity2 будут запущены одновременно. Действие Activity3 запустится только после завершения действий Activity1 и Activity2.
Можно использовать конструкцию ForEach -Parallel для обработки команд для каждого элемента в коллекции одновременно. Элементы в коллекции обрабатываются параллельно, а команды в блоке скрипта выполняются последовательно. Для этого используется приведенный ниже синтаксис. В этом случае действие Activity1 будет запущено одновременно для всех элементов в коллекции. Для каждого элемента действие Activity2 будет запускаться после завершения действия Activity1. Действие Activity3 запустится только после завершения действий Activity1 и Activity2 для всех элементов.
Ключевое слово Sequence используется для выполнения команд в последовательности в блоке параллельного скрипта. Блок сценария Sequence выполняется параллельно с другими командами, но команды внутри блока выполняются последовательно. Для этого используется приведенный ниже синтаксис. В этом случае действия Activity1, Activity2 и Activity3 будут запущены одновременно. Действие Activity4 будет запускаться только после завершения действия Activity3. Действие Activity5 начнется после завершения всех действий.