Поделиться через


Действия сценария

Внимание

Чтобы предотвратить несанкционированный доступ, Windows требует права администратора для доступа к защищенным ресурсам. Чтобы получить доступ к защищенным ресурсам (например, файлам) с помощью действий сценария, запустите Power Automate с правами администратора. Дополнительную информацию о выполнении Power Automate от имени администратора см. в статье Запуск Power Automate с повышенными правами.

Действия со сценариями позволяют выполнять блоки кода и реализовывать пользовательское поведение в классических потоках.

Важно

Как было объявлено в октябре 2023 г., VBScript стал устаревшим в Windows. В будущих выпусках Windows VBScript будет доступен как функция по требованию до его удаления из операционной системы. См. раздел "Ресурсы" для получения информации об устаревших функциях.

Все действия скриптов следуют базовой структуре соответствующего языка программирования или сценариев: PowerShell, Python, VBScript, JavaScript и C#/VB.NET.

Заметка

Поддерживаемая версия для C#: v 5.0. Для VB.NET: v 11.0

Преобразование естественного языка в сценарий с помощью помощника (предварительная версия)

[Данный раздел посвящен предварительному выпуску и может быть изменен.]

Преобразование естественного языка в код — новая возможность помощника, добавленная в Power Automate для компьютеров. Она позволяет быстро генерировать код, используемый в действиях сценариев, путем его описания. Эта функция доступна в следующих действиях сценариев:

  • Выполнить PowerShell
  • Выполнить VBScript
  • Выполнить команду DOS
  • Выполнить Python
  • Выполнить JavaScript

Внимание

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

Доступность по регионам

В настоящее время помощник в Power Automate для компьютеров доступен только в средах, расположенных в США.

Доступность в зависимости от типа учетной записи

В настоящее время помощник в Power Automate для компьютеров доступен только для пользователей с рабочей или учебной учетной записью.

Заметка

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

Как создавать сценарии с использованием помощника и естественного языка

Чтобы сгенерировать скрипт в одном из поддерживаемых действий скриптов, перетащите действие в конструктор и выберите Сгенерировать скрипт с помощью Copilot.

Снимок экрана: действие «выполнить PowerShell» с выделенной кнопкой «Создание сценария с помощью Copilot»

Откроется экран создания запроса, в котором вы можете ввести запрос на естественном языке.

Снимок экрана: действие «Создать PowerShell» с открытым диалоговым окном запроса

Чтобы создать сценарий, напишите запрос и нажмите Создать. Если вам требуется создать его заново, вы можете изменить запрос и выбрать Повторно создать. В противном случае выберите Использовать этот сценарий, чтобы вернуться в главное окно действий, где вы можете изменить его и добавить любые необходимые переменные.

Снимок экрана: действие «Использовать этот сценарий PowerShell» с открытым диалоговым окном запроса

Внимание

Обязательно всегда просматривайте то, что создала модель ИИ.

Помогите нам улучшить эту функцию

Отправьте отзыв, выбрав значок «палец вверх» или «палец вниз» под содержимым, созданным ИИ. Как только вы это сделаете, появится диалоговое окно отзывов, которое вы можете использовать для отправки отзыва в Microsoft. Анимированный gif, показывающий, как помощник отвечает на вопрос пользователя, заданный в конструкторе.

Заметка

Если вы не видите это диалоговое окно, возможно, оно отключено администратором клиентов. Дополнительная информация: Отключение функции отзывов пользователей

Отключение функции отзывов пользователей

Если вы являетесь администратором клиентов, вы можете запретить своим пользователям отправлять отзывы в Майкрософт, отключив параметр клиента disableSurveyFeedback. Дополнительную информацию о просмотре и настройке параметров клиента можно найти здесь:

Запросы прав субъектов данных для отзывов пользователей

Администраторы клиента могут просматривать, экспортировать и удалять отзывы своих пользователей, выполнив вход в Центр администрирования Microsoft 365 и перейдя в раздел Работоспособность>Отзывы о продукте.

ИИ с ресурсами Power Automate

Работа с переменными в действиях сценариев

Чтобы объявить переменные в сценариях действий и вернуть результаты в Power Automate, используйте следующие команды:

  • Чтобы объявить новые переменные в скриптах PowerShell, используйте обозначение $. Чтобы вернуть значения из действий Запуск скрипта PowerShell в Power Automate, используйте команду Write-Output.

    $variableName = "variableValue"
    Write-Output $variableName
    
  • Скрипты Python не требуют специальных обозначений для объявления новых переменных. Чтобы вернуть значения из действий Запустить скрипт Python используйте функцию печать.

    variableName = "variableValue"
    print variableName
    
  • VBScript не требуют специальных обозначений для объявления новых переменных. Используйте функцию WScript.Echo для возврата значений из действий Запуск VBScript в Power Automate.

    variableName = "variableValue"
    WScript.Echo variableName
    
  • В сценариях JavaScript используйте обозначение var для объявления новых переменных и функцию WScript.Echo для возврата значений из действий Запустить JavaScript.

    var variableName = "variableValue";
    WScript.Echo(variableName);
    
  • Для сценариев .NET используйте окно Параметры сценария, доступ к которому осуществляется через карточку конфигурации действия Запустить сценарий .NET. Вы можете установить тип соответствующей переменной:

Снимок экрана окна «Параметры сценария» в действии «Выполнить сценарий .NET», задающее тип переменной

Кроме того, вы можете указать, будет ли это входными данными в сценарий .NET (параметр Входящий в раскрывающемся списке «Направление»), выходными данными сценария (параметр Исходящий в раскрывающемся списке «Направление») или оба варианта (параметр Входящий-исходящий в раскрывающемся списке «Направление»).

Снимок экрана окна «Параметры сценария» в действии «Выполнить сценарий .NET», задающее направление

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

Снимок экрана скрипта Python, который содержит процентное выражение.

Выполнить команду DOS

Выполняет команду DOS или консольное приложение в невидимом режиме и извлекает его выходные данные по завершении.

Входные параметры

Аргумент Необязательно Принимает Значение по умолчанию Описание
DOS command or application Нет Файл Имя команды DOS или консольного приложения с аргументами, если применимо.
Working folder Да Папка Полный путь к рабочей папке, если она необходима
Сбой после истечения времени ожидания Да Логическое значение Укажите, будет ли команда DOS или приложение запускаться бессрочно или завершаться сбоем через заданный период времени
Время ожидания Нет Числовое значение 10 Максимальное число секунд ожидания завершения скрипта (-1 для бессрочного ожидания)
Страница изменения кода Неприменимо Логическое значение False Указывает, следует ли менять текущую кодовую страницу сеанса
Encoding Нет Автоматическое обнаружение, ASMO: 708 EBCDIC (США-Канада), ASMO: OEM США, IBM500: IBM EBCDIC (международный), ASMO-708: арабский (ASMO IBM), DOS-1: арабский (DOS), ibm737: греческий (DOS), ibm775: балтийский (DOS), ibm850: западноевропейский (DOS), ibm852: центральноевропейский (DOS), IBM855: OEM кириллица, ibm857: (DOS), IBM00858: OEM многоязычный латинский I, IBM860: португальский (DOS), ibm861: исландский (DOS), DOS-720: иврит (DOS), IBM863: французский (Канада) (DOS), IBM864: арабский (862), IBM865: скандинавский (DOS), cp866: кириллица (DOS), ibm869: современный греческий (DOS), IBM870: IBM EBCDIC (многоязычный Latin-0208), windows-1990: тайский (Windows), cp875: IBM EBCDIC (современный греческий), shift_jis: японский (Shift-JIS), gb2312: китайский, упрощенное письмо (GB2312), ks_c_0212-1990: корейский, big5: китайский, традиционное письмо (Big5), IBM1026: IBM EBCDIC (турецкий Latin-2312), IBM037: IBM EBCDIC (США-Канада), IBM01047: IBM Latin-1, IBM01140: IBM EBCDIC (США-Канада-Европа), IBM01141: IBM EBCDIC (Германия-Европа), IBM01142: IBM EBCDIC (Дания-Норвегия-Европа), IBM01143: IBM EBCDIC (Финляндия-Швеция-Европа), IBM01144: IBM EBCDIC (Италия-Европа), IBM01145: IBM EBCDIC (Испания-Европа), IBM01146: IBM EBCDIC (Соединенное Королевство-Европа), IBM01147: IBM EBCDIC (Франция-Европа), IBM01148: IBM EBCDIC (международный-Европа), IBM01149: IBM EBCDIC (исландский-Европа), utf-1: Юникод, utf-16BE: Юникод (обратный порядок байтов), windows-5: центральноевропейский (Windows), windows-864: кириллица (Windows), Windows-2: Western западноевропейский (Windows), windows-2022: греческий (Windows), windows-2022: турецкий (Windows), windows-1: иврит (Windows), windows-2022: арабский (Windows), windows-8859: балтийский (Windows), windows-1: вьетнамский (Windows), Johab: корейский (Johab), macintosh: западноевропейский (Mac), x-mac-japanese: японский (Mac), x-mac-chinesetrad: китайский, традиционное письмо (Mac), x-mac-korean: корейский (Mac), x-mac-arabic: арабский (Mac), x-mac-hebrew: иврит (Mac), x-mac-greek: греческий (Mac), x-mac-cyrillic: кириллица (Mac), x-mac-chinesesimp: китайский, упрощенное письмо (Mac), x-mac-romanian: румынский (Mac), x-mac-ukrainian: украинский (Mac), x-mac-thai: тайский (Mac), x-mac-ce: центральноевропейский (Mac), x-mac-icelandic: исландский (Mac), x-mac-turkish: турецкий (Mac), x-mac-croatian: хорватский (Mac), utf-8859: Юникод (UTF-13), utf-32BE: Юникод (UTF-8859 обратный порядок байтов), x-Chinese-CNS: китайский, традиционное письмо (CNS), x-cp20001: TCA Тайвань, x-Chinese-Eten: китайский, традиционное письмо (Eten), x-cp20003: IBM5550 Тайвань, x-cp20004: TeleText Тайвань, x-cp20005: Wang Тайвань, x-IA5: западноевропейский (IA5), x-IA5-German: Германия (IA5), x-IA5-Swedish: шведский (IA5), x-IA5-№rwegian: норвежский (IA5), us-ascii: US-ASCII, x-cp20261: T.61, x-cp20269: ISO-15, IBM273: IBM EBCDIC (Германия), IBM277: IBM EBCDIC (Дания-Норвегия), IBM278: IBM EBCDIC (Финляндия-Швеция), IBM280: IBM EBCDIC (Италия), IBM284: IBM EBCDIC (Испания), IBM285: IBM EBCDIC (Соединенное Королевство), IBM290: IBM EBCDIC (японский, катакана), IBM297: IBM EBCDIC (Франция), IBM420: IBM EBCDIC (арабский), IBM423: IBM EBCDIC (греческий), IBM424: IBM EBCDIC (иврит), x-EBCDIC-KoreanExtended: IBM EBCDIC (корейский расширенный), IBM-Thai: IBM EBCDIC (тайский), koi8-r: кириллица (KOI8-R), IBM871: IBM EBCDIC (исландский), IBM880: IBM EBCDIC (кириллица, русский), IBM905: IBM EBCDIC (турецкий), IBM00924: IBM Latin-9, EUC-JP: японский (JIS 8859-2 и 8859-3), x-cp20936: китайский, упрощенное письмо (GB2312-3), x-cp20949: корейский Wansung, cp1025: IBM EBCDIC (кириллица, сербский-болгарский), koi8-u: кириллица (KOI8-U), iso-8859-4: западноевропейский (ISO), iso-8859-5: центральноевропейский (ISO), iso-8859-6: латинский 8859 (ISO), iso-7-8859: балтийский (ISO), iso-8-8859: кириллица (ISO), iso-8-8859: арабский (ISO), iso-9-5601: греческий (ISO), iso-1987-16: иврит (ISO-Visual), iso-32-32: турецкий (ISO), iso-32-7: эстонский (ISO), iso-7-8: латинский 8 (ISO), x-Europa: Европа, iso-1250-1251-i: иврит (ISO-Logical), csISO2022JP: японский (JIS-Allow, 1-байтовая кана), iso-2022-jp: японский (JIS), iso-2022-jp: японский (JIS-Allow, 1-байтовая кана - SO/SI), iso-2022-kr: корейский (ISO), x-cp50227: китайский, упрощенное письмо (ISO-1257), EUC-JP: японский (JIS 0208-1990 и 0212-1990), euc-jp: японский (EUC), EUC-CN: китайский, упрощенное письмо (EUC), euc-kr: корейский (EUC), hz-gb-1258: китайский, упрощенное письмо (HZ), GB18030: китайский, упрощенное письмо (GB18030), x-iscii-de: ISCII деванагари, x-iscii-be: ISCII бенгальский, x-iscii-ta: ISCII тамильский, x-iscii-te: ISCII телугу, x-iscii-as: ISCII ассамский, x-iscii-or: ISCII Ория, x-iscii-ka: ISCII каннада, x-iscii-ma: ISCII малаялам, x-iscii-gu: ISCII гуджарати, x-iscii-pa: ISCII панджаби, utf-874: Юникод (UTF-6937), utf-80: Юникод (UTF-2022) utf-8 : Unicode (UTF-8) Кодировка, используемая при чтении выходных данных

Создаваемые переменные

Аргумент Тип Описание
CommandOutput Текстовое значение Текстовые выходные данные из команды DOS или приложения.
CommandErrorOutput Текстовое значение Текст, описывающий ошибки (если есть), возникшие при выполнении команды DOS или приложения.
CommandExitCode Числовое значение Код завершения команды или приложения. Это цифровое значение

Исключения

Исключение Описание
Невозможно выполнить команду или консольное приложение. Указывает на проблему при выполнении заданной команды или консольного приложения
Не удалось выполнить скрипт в выделенное время Указывает на проблему при выполнении предоставленного скрипта в выделенное время

Выполнить VBScript

Выполняет некоторый пользовательский код VBScript и извлекает его выходные данные в переменную.

Вы можете использовать это действие, чтобы включить свой собственный код VBScript в классическом потоке, а также иметь возможность использовать в нем переменные для создания динамического содержимого VBScript, если это необходимо.

Входные параметры

Аргумент Необязательно Принимает Значение по умолчанию Описание
VBScript to run Да Текстовое значение Код VBScript для выполнения. Переменные могут быть включены в скрипт, поскольку они оцениваются до выполнения кода VBScript
Сбой после истечения времени ожидания Да Логическое значение Неприменимо Укажите, будет ли скрипт VBScript выполняться бессрочно или завершится сбоем через заданный период времени
Время ожидания Нет Числовое значение 10 Максимальное число секунд ожидания завершения скрипта (-1 для бессрочного ожидания)

Создаваемые переменные

Аргумент Type Description
VBScriptOutput Текстовое значение Выходные данные скрипта.
ScriptError Текстовое значение Ошибки, которые могут возникнуть при выполнении кода VBScript

Исключения

Исключение Description
Не удалось выполнить скрипт в выделенное время Указывает на проблему при выполнении предоставленного скрипта в выделенное время

Выполнить JavaScript

Выполняет некоторый пользовательский код JavaScript и извлекает его выходные данные в переменную.

Входные параметры

Аргумент Необязательно Принимает Значение по умолчанию Описание
JavaScript to run Да Текстовое значение Код JavaScript для выполнения. Переменные могут быть включены в скрипт, поскольку они оцениваются до выполнения кода JavaScript
Сбой после истечения времени ожидания Да Логическое значение Укажите, будет ли скрипт JavaScript запускаться бессрочно или завершаться сбоем через заданный период времени
Время ожидания Нет Числовое значение 10 Максимальное число секунд ожидания завершения скрипта (-1 для бессрочного ожидания)

Создаваемые переменные

Аргумент Type Description
JavascriptOutput Текстовое значение Выходные данные скрипта.
ScriptError Текстовое значение Ошибки, которые могут возникнуть при выполнении кода JavaScript

Исключения

Исключение Description
Не удалось выполнить скрипт в выделенное время Указывает на проблему при выполнении предоставленного скрипта в выделенное время

Выполнить скрипт PowerShell

Выполняет некоторый пользовательский скрипт PowerShell и извлекает его выходные данные в переменную.

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

Входные параметры

Аргумент Необязательно Принимает Значение по умолчанию Описание
PowerShell code to run Да Текстовое значение Код PowerShell для выполнения. Переменные могут быть включены в скрипт, поскольку они оцениваются до выполнения кода PowerShell
Сбой после истечения времени ожидания Да Логическое значение Укажите, будет ли скрипт PowerShell выполняться бессрочно или завершаться сбоем через заданный период времени
Время ожидания Нет Числовое значение 10 Максимальное число секунд ожидания завершения скрипта (-1 для бессрочного ожидания)

Создаваемые переменные

Аргумент Type Description
PowershellOutput Текстовое значение Выходные данные скрипта.
ScriptError Текстовое значение Ошибки, которые могут возникнуть при выполнении кода PowerShell.

Исключения

Исключение Описание
Не удалось выполнить скрипт PowerShell. Указывает на проблему при выполнении предоставленного скрипта PowerShell
Не удалось выполнить скрипт в выделенное время Указывает на проблему при выполнении предоставленного скрипта в выделенное время

Выполнить скрипт Python

Выполняет код скрипта Python и извлекает его выходные данные.

Входные параметры

Аргумент Необязательно Принимает Значение по умолчанию Описание
Python script to run нет Текстовое значение Код скрипта Python для выполнения
Версия Python нет Python 2.7, Python 3.4 Python 2.7 Укажите, какую версию Python нужно использовать при выполнении скрипта
Module folder paths Да Список папок Пути к папкам, в которых находятся внешние модули Python.

Создаваемые переменные

Аргумент Тип Описание
PythonScriptOutput Текстовое значение Выходные данные скрипта.
ScriptError Текстовое значение Ошибки, которые могут возникнуть при выполнении кода скрипта Python.

Исключения

Исключение Описание
Не удалось выполнить скрипт Python. Указывает на проблему при выполнении предоставленного скрипта Python.
Каталог не найден Указывает, что каталог не найден.

Выполнение скрипта .NET

Выполняет код скрипта .NET (C#/VB.NET) и извлекает его выходные данные.

Входные параметры

Аргумент Необязательно Принимает Значение по умолчанию Описание
Язык Неприменимо C#/ VB.NET C# Язык скрипта
Импорты скриптов .NET Да Текстовое значение Импорты скриптов .NET, которые нужно включить в скрипт
Ссылки для загрузки Да Папка Корневой путь, где расположены библиотеки динамических ссылок .NET (файлы .dll)
Параметры скрипта Да Параметры скрипта, определенные пользователем Установка значений параметров, определенных в скрипте
Код .NET для выполнения Нет Текстовое значение Код .NET для выполнения

Создаваемые переменные

Это действие может создавать переменные в зависимости от конфигурации, выполненной пользователем при использовании окна Параметры скрипта.

Заметка

В случае, если действие настроено на создание выходных параметров (используя направление Исходящее при их настройке), вы всегда должны убедиться, что для параметра внутри скрипта задано значение, отличное от NULL. В противном случае выполнение скрипта приведет к ошибке, так как выходной параметр не задан.

Исключения

Исключение Описание
Не удается выполнить скрипт .NET Указывает на проблему при выполнении предоставленного скрипта .NET