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


Как создавать настраиваемые действия в Power Automate для компьютеров

Повышайте производительность, возможность повторного использования и расширяемость с помощью настраиваемых действий в Power Automate для компьютеров. В этой статье обсуждается, как настраиваемые действия в Power Automate для компьютеров могут помочь создателям создавать собственные многократно используемые действия, которые можно использовать в нескольких потоках. Создатели создают настраиваемые действия, объединяя последовательность шагов или функций в новое действие. Настраиваемые действия создаются с использованием пакета SDK действий Power Automate для компьютеров, который предоставляет набор API-интерфейсов, позволяющих создателям создавать настраиваемые действия с использованием языка .NET C#. Пользовательскими действиями также можно поделиться с другими пользователями через раздел пользовательских действий в Power Automate (make.powerautomate.com). В этой статье вы найдете подробные пошаговые инструкции по созданию, сборке, развертыванию, использованию и обновлению настраиваемых действий.

Внимание

Хотя основные функции, используемые при создании настраиваемых действий, поддерживаются, предоставленные решения, ресурсы и примеры сценариев, упомянутые здесь, служат примером реализации этих функций и не включают поддержку.

Обзор

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

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

Пользовательскими действиями можно поделиться с другими пользователями через раздел «Настраиваемые действия» в Power Automate, что предоставляет центральный репозиторий для совместного использования и обнаружения пользовательских действий. Это означает, что пользователи могут извлечь выгоду из опыта и знаний других сотрудников организации и могут легко находить и использовать настраиваемые действия, созданные другими создателями.

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

Предварительные условия

Создание собственного пользовательского действия

  1. Откройте Visual Studio, чтобы создать новый проект, используя шаблон Библиотека классов (.NET Framework). Снимок экрана диалогового окна «Создание проекта C#».

  2. Настройте новый проект, указав имя проекта, расположение файлов и задайте Framework как .NET Framework 4.7.2.

    Заметка

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

    Снимок экрана подробных сведений о создании библиотеки классов C#.

  3. В Visual Studio выберите Сервис>Диспетчер пакетов NuGet>Консоль диспетчера пакетов.

    Снимок экрана диспетчера пакетов .NET.

  4. Откройте окно PowerShell и установите пакет NuGet PowerAutomate.Desktop.Actions.SDK с помощью этой команды PowerShell.

    Find-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
    NuGet\Install-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
    
  5. Следуйте инструкциям в разделе Создание настраиваемых действий, чтобы создать файл класса для настраиваемого действия.

Информация, которую вы можете использовать для справки для своих действий

Архив эталонного решения: Модульное решение .NET

Действие: запись сообщения в локальный файл.

Входные параметры: имя файла, сообщение для записи в файл.

Выходные параметры: код состояния — true в случае успеха и false в случае неудачи.

Определение класса:

using System;
using System.IO;
using Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK;
using Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK.Attributes;

namespace ModulesLogEvent
{
    [Action(Id = "LogEventToFile" , Order = 1, Category = "Logging")]
    [Throws("LogEventError")]
    public class LogEventToFile : ActionBase
    { 
        [InputArgument]
        public string LogFileName { get; set; }

        [InputArgument]
        public string LogMessage { get; set; }

        [OutputArgument]
        public bool StatusCode { get; set; }
    
        public override void Execute(ActionContext context)
        {
            try
            {           
                    // To append all of the text to the file
                    File.AppendAllText(LogFileName, LogMessage);
                    StatusCode = true;  
            }
            catch (Exception e)
            {
                if (e is ActionException) throw;

                throw new ActionException("LogEventError", e.Message, e.InnerException);
            }
        }
    }
}

Ресурсы

В этой таблице перечислены описания и понятные имена параметров в файле Resources.resx.

Полное имя Стоимость Comment
LogEventToFile_Description Пользовательское действие для регистрации сообщения в предоставленном файле Описание действия
LogEventToFile_FriendlyName LogEventToFile Имя действия
LogEventToFile_LogFileName_Description Входной параметр текстового типа Описание входных данных действия
LogEventToFile_LogFileName_FriendlyName LogFileName Имя входных данных действия
LogEventToFile_LogMessage_Description Входной параметр текстового типа Описание входных данных действия
LogEventToFile_LogMessage_FriendlyName LogMessage Имя входных данных действия
LogEventToFile_StatusCode_Description Выходной параметр логического типа Описание выходных данных действия
LogEventToFile_StatusCode_FriendlyName LogMessage Имя выходных данных действия
ModulesLogEvent_Description Модуль для управления событиями журнала Описание модуля
ModulesLogEvent_FriendlyName LogEvent Имя модуля

Создание пакета и развертывание настраиваемого действия

Создайте пакет и разверните его в Power Automate.

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

    Внимание

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

    Совет

    Чтобы упростить процесс разработки и использования настраиваемых действий для Power Automate для компьютеров в вашей организации, вы можете связать доверенный цифровой сертификат с установщиком Power Automate для компьютеров, который распространяется через SCCM/Appstore. > Это позволит автоматически устанавливать сертификат как на компьютеры создателей, так и на автоматических компьютерах среды выполнения, которым требуется Power Automate для компьютеров, без каких-либо дополнительных действий.

    В этом примере используется самозаверяющий сертификат.

    1. Создайте самозаверяющий сертификат с помощью этого скрипта.

      $certPFXFileName="C:\PADCustomAction\PADCustomActionCert.pfx";
      $certCERFileName="C:\PADCustomAction\PADCustomActionCert.cer";
      $certStoreLocation="Cert:\LocalMachine\AuthRoot";
      $certname = "PADCustomActionSelfSignCert"
      ##Create certificate
      $cert = New-SelfSignedCertificate -CertStoreLocation Cert:\CurrentUser\My -Type CodeSigningCert  -Subject "CN=$certname" -KeyExportPolicy Exportable -KeySpec Signature -KeyLength 2048 -KeyAlgorithm RSA -HashAlgorithm SHA256
      $mypwd = ConvertTo-SecureString -String <YOUR CERT PASSWORD GOES HERE> -Force -AsPlainText
      ##Export certificate
      $certPFXFile = Export-PfxCertificate -Cert $cert -FilePath $certPFXFileName -Password $mypwd
      $certCERFile = Export-Certificate -Cert $cert -FilePath $certCERFileName -Type CERT -Verbose -Force
      
    2. Импортируйте сертификат в хранилище сертификатов с помощью этой команды.

      ##Import certificate
      Import-Certificate -CertStoreLocation $certStoreLocation -FilePath $certCERFile
      
    3. Убедитесь, что импортированный сертификат отображается в разделе Доверенные корневые центры сертификации>Сертификаты оснастки «Сертификаты» консоли Microsoft Manager Console (MMC).

  2. Завершите создание пользовательского модуля, подписав файл DLL с помощью доверенного сертификата. Используйте командную строку разработчика Visual Studio, чтобы использовать SignTool для этого действия.

    Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/Modules.LogEvent.dll"
    
  3. Чтобы развернуть настраиваемое действие, выполните сборку содержимого пакета в CAB-файл (.cab) с помощью этого сценария PowerShell.

    .\BuildCAB.ps1 "C:/PADActions/PADCustomActionEventLog" "C:/PADActions/PADCustomActionEventLog" PADCustomActionEventLog.cab
    

    Перейдите к примеру файла сценария BuildCAB.ps1

  4. Подпишите созданный CAB-файл с помощью SignTool.

    Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/PADCustomActionEventLog.cab"
    
  5. Перейдите в раздел настраиваемых действий Power Automate, чтобы загрузить созданное вами настраиваемое действие. Укажите имя, описание и CAB-файл, затем выберите Отправить.

    Снимок экрана импорта пакета настраиваемого действия (CAB-файла) на портал Power Automate

    Когда действие будет успешно отправлено, вы получите уведомление.

После этих шагов модуль настраиваемого действия упаковывается в CAB-файл и подписывается доверенным сертификатом. Кроме того, CAB-файл настраиваемого действия загружается в библиотеку настраиваемых действий в Power Automate.

Дополнительная информация: Отправка настраиваемых действий

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

  1. Создайте классический поток, затем выберите Библиотека ресурсов в конструкторе.

    Снимок экрана перехода к библиотеке ресурсов в Power Automate для компьютеров

  2. Проверьте настраиваемое действие, доступное в библиотеке ресурсов. Обратите внимание на действие, ранее созданное и отправленное в раздел настраиваемых действий Power Automate.

    Выберите Добавить, чтобы добавить это настраиваемое действие в раздел Действия конструктора.

    Снимок экрана добавления настраиваемого действия из библиотеки ресурсов

  3. Убедитесь, что настраиваемое действие добавлено успешно. Найдите его в строке поиска Действия в конструкторе Power Automate для компьютеров.

    Снимок экрана поиска настраиваемого действия в Power Automate для компьютера

  4. Перетащите настраиваемое действие или дважды щелкните его, чтобы добавить в классический поток.

  5. Укажите входные параметры и дополнительные действия для проверки настраиваемого действия.

    Снимок экрана входных параметров для настраиваемого действия

    Пример классического потока с использованием настраиваемого действия.

    Снимок экрана использования настраиваемого действия в классическом потоке

  6. Протестируйте поток, чтобы увидеть, как настраиваемое действие работает в режиме реального времени.

    Тестирование настраиваемого действия в классическом потоке

Заметка

Импортируйте сертификат, использованный для подписи CAB-файла, на компьютер, используемый для создания классических потоков с настраиваемыми действиями, и на каждый из компьютеров среды выполнения, на которых будут выполняться классические потоки.

После этих шагов было создано настраиваемое действие, модуль упакован в CAB-файл, подписан доверенным сертификатом, отправлен в библиотеку настраиваемых действий в формате Power Automate, классический поток для использования настраиваемого действия был создан и протестирован для успешного запуска.

Обновление и повторное развертывание настраиваемого действия

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

  1. Обновите файл класса в решении Visual Studio с новой функциональностью действий. Больше информации: Обновленное решение модуля .NET

    Измените подпись файла класса, чтобы она включала третий входной параметр, как показано.

    using System;
    using System.IO;
    using Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK;
    using Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK.Attributes;
    
    namespace ModulesLogEvent
    {
     [Action(Id = "LogEventToFile" , Order = 1, Category = "Logging")]
     [Throws("LogEventError")]
     public class LogEventToFile : ActionBase
     { 
         [InputArgument]
         public string LogFileName { get; set; }
    
         [InputArgument]
         public string LogMessage { get; set; }
    
         [InputArgument]
         public string LogLevel { get; set; }
    
         [OutputArgument]
         public bool StatusCode { get; set; }
    
         public override void Execute(ActionContext context)
         {
             try
             {
                     // To append all of the text to the file
                     File.AppendAllText(LogFileName, LogLevel + ": " + LogMessage);
                     StatusCode = true;
             }
             catch (Exception e)
             {
                 if (e is ActionException) throw;
    
                 throw new ActionException("LogEventError", e.Message, e.InnerException);
             }
         }
      }
    }
    
  2. Используйте аналогичные шаги, описанные ранее, где вы подписывали файл DLL, создавали CAB-файл, подписывали CAB-файл и отправляли CAB-файл в раздел настраиваемых действий на странице Power Automate. Больше информации: Создание пакета и развертывание настраиваемого действия

    Заметка

    Прежде чем отправлять обновленный CAB-файл настраиваемого действия, обязательно проанализируйте влияние этого изменения, поскольку классические потоки с этим действием будут обновлены новыми возможностями.

    Снимок экрана обновления настраиваемого действия на портале Power Automate

  3. Внесите требуемые обновления в классический поток.

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

    Снимок экрана рефакторинга классического потока

    Снимок экрана обновленного настраиваемого действия с дополнительными входными параметрами

  4. Протестируйте поток, чтобы увидеть, как обновленное настраиваемое действие работает в режиме реального времени.

    Повторное тестирование обновленного настраиваемого действия в классическом потоке

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