Sdílet prostřednictvím


Jak tvořit vlastní akce v Power Automate pro desktopy.

Zvyšte produktivitu, znovupoužitelnost a rozšiřitelnost pomocí vlastních akcí v Power Automate pro desktopy. Tento článek pojednává o tom, jak vlastní akce v Power Automate pro desktopy mohou pomoci tvůrcům vytvářet vlastní opakovaně použitelné akce, které lze použít ve více tocích. Tvůrci vytvářejí vlastní akce složením sekvence kroků nebo funkcí do nové akce. Vlastní akce se vytvářejí pomocí sady SDK akcí Power Automate pro desktopy, které poskytují sadu rozhraní API, která umožňují tvůrcům vytvářet vlastní akce pomocí jazyka .NET C#. Vlastní akce lze také sdílet s ostatními uživateli prostřednictvím sekce vlastních akcí v Power Automate (make.powerautomate.com). V tomto článku najdete podrobné návody, jak vytvářet, sestavovat, nasazovat, používat a aktualizovat vlastní akce.

Důležité

Zatímco základní funkce používané při vytváření vlastních akcí jsou podporovány, poskytovaná řešení, prostředky a ukázkové skripty zde uvedené slouží jako příklad implementace těchto funkcí a nezahrnují podporu.

Přehled

Možnost vlastních akcí v Power Automate pro desktopy vám umožňuje vytvářet vlastní opakovaně použitelné akce, které lze použít ve více pracovních postupech. Vlastní akce vám šetří čas a námahu tím, že vám umožňují opakovaně používat složité nebo často používané akce, aniž byste je museli znovu vytvářet pokaždé, když vytváříte nový tok. Tvůrci mohou uplatnit své stávající dovednosti a znalosti k vytvoření vlastních akcí, které se integrují s jinými systémy a službami. Profesionální vývojáři navíc mohou zabalit stávající funkce nebo knihovny kódů a vytvořit novou vlastní akci, která povede ke zvýšené opakované použitelnosti organizačních aktiv.

Vytváříte vlastní akce složením sekvence metod nebo funkcí do nové akce. Jakmile vytvoříte vlastní akci, použijte ji v libovolném desktopovém toku přetažením na plátno návrháře Power Automate Desktop.

Vlastní akce lze sdílet s ostatními uživateli prostřednictvím sekce vlastních akcí v Power Automate, která poskytuje centrální úložiště pro sdílení a zjišťování vlastních akcí. To znamená, že uživatelé mohou těžit z odborných znalostí a znalostí ostatních v organizaci a mohou snadno najít a používat vlastní akce vytvořené jinými výrobci.

Celkově vlastní akce v Power Automate pro desktopy poskytují účinný způsob, jak rozšířit funkčnost produktu, zefektivnit proces budování toku a podpořit spolupráci a inovace v rámci organizace.

Předpoklady

Vytvořte svoji vlastní akci

  1. Otevřete Visual Studio a vytvořte nový projekt pomocí šablony Knihovna tříd (.NET Framework). Snímek obrazovky dialogového okna Vytvořit projekt C#.

  2. Nakonfigurujte svůj nový projekt pomocí názvu projektu, umístění souboru a nastavte Framework na .NET Framework 4.7.2.

    Poznámka:

    Postupujte podle konvencí tvorby názvů. Další informace: Vlastní konvence názvů modulů

    Snímek obrazovky s podrobnostmi o vytvoření knihovny tříd C#.

  3. V aplikaci Visual Studio zvolte Nástroje>Správce balíčků NuGet>Konzola Správce balíčků.

    Snímek obrazovky .NET Package Manager.

  4. Otevřete okno PowerShellu a nainstalujte balíček NuGet PowerAutomate.Desktop.Actions.SDK pomocí tohoto příkazu PowerShellu.

    Find-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
    NuGet\Install-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
    
  5. Postupujte podle kroků ve Vytvoření vlastních akcí a vytvořte soubor třídy pro vaši vlastní akci.

Informace, které můžete použít jako odkaz pro vaši akci

Referenční archiv řešení: .NET Module Solution

Akce: Napište zprávu do místního souboru.

Vstupní parametry: Název souboru, zpráva pro zápis do souboru.

Výstupní parametry: Stavový kód – true v případě úspěchu a false v případě neúspěchu.

Definice třídy:

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);
            }
        }
    }
}

Prostředky

V této tabulce jsou uvedeny popisy a popisné názvy parametrů v souboru Resources.resx.

Name Hodnota Comment
LogEventToFile_Description Vlastní akce pro protokolování zprávy do dodaného souboru Popis akce
LogEventToFile_FriendlyName LogEventToFile Název akce
LogEventToFile_LogFileName_Description Vstupní parametr textového typu Popis vstupu akce
LogEventToFile_LogFileName_FriendlyName LogFileName Název vstupu akce
LogEventToFile_LogMessage_Description Vstupní parametr textového typu Popis vstupu akce
LogEventToFile_LogMessage_FriendlyName LogMessage Název vstupu akce
LogEventToFile_StatusCode_Description Výstupní parametr logického typu Popis výstupu akce
LogEventToFile_StatusCode_FriendlyName LogMessage OutputName akce
ModulesLogEvent_Description Modul pro správu událostí protokolu Popis modulu
ModulesLogEvent_FriendlyName LogEvent Název modulu

Sestavte balíček a nasaďte vlastní akci

Vytvořte balíček a nasaďte jej na Power Automate.

  1. Získejte digitální certifikát, aby bylo možné podepsat soubor DLL vlastní akce.

    Důležité

    Certifikáty podepsané svým držitelem (self-signed certificate) jsou pouze pro testovací účely a nedoporučují se pro produkční použití. Pro organizační nasazení vlastních akcí ve vašem prostředí doporučujeme použít důvěryhodný digitální certifikát, který se řídí vašimi organizačními pokyny.

    Tip

    Chcete-li zefektivnit proces vývoje a používání vlastních akcí pro Power Automate pro dekstopy ve vaší organizaci, můžete důvěryhodný digitální certifikát spojit s instalačním programem Power Automate pro desktopy, který je distribuován prostřednictvím SCCM/Appstore. . > To umožní automatickou instalaci certifikátu na tvůrce i bezobslužné počítače s modulem runtime, které vyžadují Power Automate pro desktopy bez nutnosti dalších akcí.

    V tomto příkladu je použit certifikát podepsaný svým držitelem (self-signed certificate).

    1. Pomocí tohoto skriptu vytvořte certifikát podepsaný svým držitelem (self-signed certificate).

      $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. Pomocí tohoto příkazu importujte certifikát do úložiště certifikátů.

      ##Import certificate
      Import-Certificate -CertStoreLocation $certStoreLocation -FilePath $certCERFile
      
    3. Ověřte, že se importovaný certifikát zobrazuje v části Důvěryhodné kořenové certifikační úřady>Certifikáty v modulu snap-in Certificates Microsoft Manager Console (MMC)

  2. Dokončete vlastní modul vytvořený podepsáním souboru DLL pomocí důvěryhodného certifikátu. Chcete-li pro tuto aktivitu použít nástroj Signtool, použijte příkazový řádek vývojáře Visual Studio.

    Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/Modules.LogEvent.dll"
    
  3. Chcete-li nasadit vlastní akci, sestavte obsah balíčku do souboru CAB (.cab) pomocí tohoto skriptu PowerShell.

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

    Přejděte na ukázkový soubor skriptu BuildCAB.ps1

  4. Vygenerovaný soubor CAB podepište pomocí Signtool.

    Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/PADCustomActionEventLog.cab"
    
  5. Přejděte do části vlastních akcí Power Automate a nahrajte vlastní akci, kterou jste vytvořili. Zadejte název, popis a soubor CAB a poté vyberte Odeslat.

    Snímek obrazovky importu balíčku vlastních akcí (soubor CAB) do portálu Power Automate

    Až bude soubor úspěšně odeslán, obdržíte oznámení.

Po těchto krocích je modul vlastních akcí zabalen do souboru CAB a podepsán důvěryhodným certifikátem. Kromě toho je soubor CAB vlastních akcí nahrán do knihovny vlastních akcí v Power Automate.

Další informace: Nahrát vlastní akce

Použijte svou vlastní akční aktivitu v toku na počítači pomocí Power Automate pro desktopy

  1. Vytvořte nový desktopový tok a pak vyberte Knihovnu prostředků v návrháři.

    Snímek obrazovky Přejít do knihovny prostředků v Power Automate pro desktopy

  2. Zkontrolujte vlastní akci dostupnou v knihovně prostředků. Všimněte si dříve vytvořené akce a nahrané do sekce vlastních akcí Power Automate.

    Výběrem možnosti Přidat přidáte tuto vlastní akci do sekce Akce v návrháři.

    Snímek obrazovky Přidat vlastní akci z knihovny prostředků

  3. Ověřte, zda byla vlastní akce úspěšně přidána. Vyhledejte ji na vyhledávacím panelu Akce v Power Automate pro návrháře desktopu.

    Snímek obrazovky Vyhledat vlastní akci v Power Automate pro desktopy

  4. Přetáhněte vlastní akci nebo na ni poklepejte a přidejte ji do toku na ploše.

  5. Zadejte vstupní parametry a další kroky k otestování vlastní akce.

    Snímek obrazovky vstupních parametrů pro vlastní akci

    Ukázka toku na ploše pomocí vlastní akce.

    Snímek obrazovky Použití vlastní akce v dekstopovém toku

  6. Otestujte tok, abyste viděli, jak vlastní akce funguje v reálném čase.

    Otestujte vlastní akci v desktopovém toku

Poznámka:

Importujte certifikát používaný k podepsání souboru CAB do počítače používaného k vytváření desktopových toků s vlastními akcemi a do všech počítačů modulu runtime, na kterých budou toky plochy spouštět.

Po těchto krocích byla vytvořena vlastní akce, modul zabalen do souboru CAB, podepsán důvěryhodným certifikátem, nahrán do knihovny vlastních akcí v Power Automate, desktopovém toku pro použití vlastní akce vytvořené a otestované pro úspěšné spuštění.

Aktualizujte a znovu nasaďte vlastní akci

Aktualizujte funkčnost vlastní akce tak, aby odrážela aktualizovanou schopnost, pomocí následujících kroků.

  1. Aktualizujte soubor třídy v řešení Visual Studio s novou akční funkcí. Více informací: Aktualizované řešení .NET Module

    Upravil podpis souboru třídy tak, aby přijal třetí vstupní parametr, jak je znázorněno.

    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. Použijte podobné kroky popsané výše, kde podepíšete soubor DLL, vytvoříte soubor CAB, podepíšete soubor CAB a nahrajete soubor CAB do sekce vlastních akcí v Power Automate. Další informace: Sestavte balíček a nasaďte vlastní akci

    Poznámka:

    Před nahráním aktualizovaného souboru CAB vlastní akce nezapomeňte analyzovat dopad této změny, protože toky na ploše s touto akcí budou aktualizovány o nové možnosti.

    Snímek obrazovky aktualizace vlastní akce v portálu Power Automate

  3. Podle potřeby aktualizujte desktopový tok.

    Abychom ověřili schopnost aktualizace, přidali jsme do vlastní akce třetí vstupní parametr. Všimněte si, že aktivita vlastní akce je v návrháři označena jako Chyba a je třeba ji aktualizovat pomocí nového vstupního parametru.

    Screenshot refaktorování desktopového toku

    Snímek obrazovky aktualizované vlastní akce s dalšími vstupními parametry

  4. Otestujte tok, abyste viděli, jak aktualizovaná vlastní akce funguje v reálném čase.

    Znovu otestujte aktualizovanou vlastní akci v desktopovém toku

V této části jste aktualizovali základní funkcionalitu vlastní akce, vytvořili balíček, nasadili do Power Automate, refaktorovali tok na ploše a ověřili funkčnost spuštěním toku na ploše s aktualizovanými možnostmi vlastní akce v Power Automate pro desktopy.