Del via


Sådan opbygges tilpassede handlinger i Power Automate til skrivebord

Forbedre produktivitet, genbrugelighed og udvidelsesmuligheder med tilpassede handlinger i Power Automate til skrivebord. Denne artikel diskuterer, hvordan tilpassede handlinger i Power Automate til skrivebord kan hjælpe producenter med at skabe deres egne genbrugelige handlinger, der kan bruges på tværs af flere flows. Makere opretter tilpassede handlinger ved at sammensætte en sekvens af trin eller funktioner til en ny handling. Tilpassede handlinger oprettes ved hjælp af Power Automate til skrivebordshandlinger SDK, som giver et sæt API'er, der giver producenterne mulighed for at oprette brugerdefinerede handlinger ved hjælp af .NET-sproget C#. Tilpassede handlinger kan også deles med andre brugere gennem afsnittet om tilpassede handlinger i Power Automate (make.powerautomate.com). I denne artikel kan du finde detaljerede gennemgange af, hvordan du opretter, bygger, implementerer, bruger og opdaterer tilpassede handlinger.

Vigtigt

Mens de væsentlige funktioner, der bruges til at oprette tilpassede handlinger, understøttes, fungerer de leverede løsninger, aktiver og eksempelscripts, der er nævnt her, som eksempler på implementering af disse funktioner og inkluderer ikke support.

Oversigt

Mulighed for tilpassede handlinger i Power Automate til skrivebord giver dig mulighed for at oprette dine egne genanvendelige handlinger, der kan bruges på tværs af flere desktop-flows. Tilpassede handlinger sparer dig tid og kræfter ved at give dig mulighed for at genbruge komplekse eller ofte brugte handlinger uden at skulle genskabe dem, hver gang du bygger et nyt flow. Makere kan anvende deres eksisterende færdigheder og viden til at skabe tilpassede handlinger, der integreres med andre systemer og tjenester. Derudover kan pro-udviklere indpakke de eksisterende funktioner eller kodebiblioteker for at lave en ny tilpasset handling, der resulterer i øget genanvendelighed af organisatoriske aktiver.

Du opretter tilpassede handlinger ved at sammensætte en sekvens af metoder eller funktioner til en ny handling. Når du har oprettet en brugerdefineret handling, skal du bruge den i ethvert skrivebordsflow ved at trække og slippe det på Power Automate-skrivebordsdesignerlærred.

Tilpassede handlinger kan deles med andre brugere gennem sektionen tilpassede handlinger i Power Automate, som giver et centralt lager til deling og opdagelse af tilpassede handlinger. Det betyder, at brugerne kan drage fordel af ekspertisen og viden fra andre i organisationen og nemt kan finde og bruge tilpassede handlinger skabt af andre beslutningstagere.

Samlet set giver tilpassede handlinger i Power Automate til skrivebord en effektiv måde at udvide produktets funktionalitet, strømline flow-opbygningsprocessen og fremme samarbejde og innovation i organisationen.

Forudsætninger

Oprette din egen tilpasset handling

  1. Åbn Visual Studio for at oprette et nyt projekt ved hjælp af skabelonen Klassebibliotek (.NET Framework). Skærmbillede af dialogboksen Opret C#-projekt.

  2. Konfigurer dit nye projekt med et projektnavn, filplacering, og indstil Framework som .NET Framework 4.7.2.

    Bemærk

    Sørg for at følge navngivningskonventioner. Flere oplysninger: Tilpassede modulnavnekonventioner

    Skærmbillede af Opret C#-klassebiblioteksdetaljer.

  3. I Visual Studio skal du vælge Værktøjer>NuGet Package Manager>Package Manager Console.

    Skærmbillede af .NET Package Manager.

  4. Åbn et PowerShell-vindue og installer NuGet pakke PowerAutomate.Desktop.Actions.SDK ved hjælp af denne PowerShell-kommando.

    Find-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
    NuGet\Install-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
    
  5. Følg trinene i Opret tilpassede handlinger for at oprette klassefilen til din tilpassede handling.

Oplysninger, du kan bruge som reference for din handling

Referenceløsningsarkiv: .NET Module Solution

Handling: Skriv en besked til en lokal fil.

Indtastningsparametre: Filnavn, besked til at skrive til filen.

Outputparametre: Statuskode – sand hvis det lykkedes og falsk hvis det ikke lykkedes.

Klassedefinition:

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

Ressourcer

Denne tabel indeholder beskrivelser og brugervenlige navne på parametre i en Resources.resx-fil.

Navn Værdi Kommentar
LogEventToFile_Description Brugerdefineret handling for at logge besked til den medfølgende fil Beskrivelse af handling
LogEventToFile_FriendlyName LogEventToFile Handlingsnavn
LogEventToFile_LogFileName_Description Inputparameterteksttype Beskrivelse af handlingsinput
LogEventToFile_LogFileName_FriendlyName LogFileName Handlingsinputnavn
LogEventToFile_LogMessage_Description Inputparameterteksttype Beskrivelse af handlingsinput
LogEventToFile_LogMessage_FriendlyName LogMessage Handlingsinputnavn
LogEventToFile_StatusCode_Description Outputparameter af boolesk type Beskrivelse af outputbeskrivelse
LogEventToFile_StatusCode_FriendlyName LogMessage Handlingsoutputnavn
ModulesLogEvent_Description Modul til at administrere loghændelser Modulbeskrivelse
ModulesLogEvent_FriendlyName LogEvent Modulnavn

Byg pakken og implementer din tilpassede handling

Opret pakken og implementer til Power Automate.

  1. Anskaf det digitale certifikat, så den tilpassede handling DLL-fil kan signeres.

    Vigtigt

    Selvsignerede certifikater er kun til testformål og anbefales ikke til produktionsbrug. Til organisatorisk udrulning af tilpassede handlinger i dit miljø anbefaler vi, at du bruger et pålideligt digitalt certifikat, der følger dine organisatoriske retningslinjer.

    Tip

    For at strømline processen med at udvikle og bruge tilpassede handlinger til Power Automate til desktop på tværs af din organisation kan du samle et pålideligt digitalt certifikat med Power Automate til desktop-installationsprogrammet, der distribueres gennem SCCM/Appstore. > Dette vil gøre det muligt for certifikatet at blive installeret automatisk på både producenter og uovervågede runtime-maskiner, der kræver Power Automate til desktop, uden behov for yderligere handlinger.

    Til dette eksempel bruges et selvsigneret certifikat.

    1. Opret et selvsigneret certifikat ved hjælp af dette script.

      $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. Importer certifikatet til certifikatlageret ved hjælp af denne kommando.

      ##Import certificate
      Import-Certificate -CertStoreLocation $certStoreLocation -FilePath $certCERFile
      
    3. Kontroller, at det importerede certifikat vises under Nøglecentre, der er tillid til>Certifikater i Certifikater i Microsoft Manager Console (MMC) snap-in.

  2. Afslut det brugerdefinerede modul, der er oprettet ved at signere DLL-filen ved hjælp af et pålideligt certifikat. Brug Visual Studios udviklerkommandoprompt til at bruge Signtool til denne aktivitet.

    Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/Modules.LogEvent.dll"
    
  3. For at implementere den tilpassede handling skal du bygge pakkens indhold i en kabinetfil (.cab) ved at bruge dette PowerShell-script.

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

    Gå til eksempelscriptfilen BuildCAB.ps1

  4. Underskriv den genererede kabinetfil ved hjælp af Signtool.

    Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/PADCustomActionEventLog.cab"
    
  5. Gå til sektionen med Power Automate tilpasset handling for at uploade den tilpassede handling, du har oprettet. Angiv navn, beskrivelse og kabinetfil, og vælg Upload.

    Skærmbillede af import af tilpasset handlingspakke (CAB-fil) i Power Automate-portalen

    Du modtager en meddelelse, når handlingen er uploadet.

Ved at følge disse trin pakkes det tilpassede handlingsmodul i en kabinetfil og signeres med et betroet certifikat. Derudover uploades den tilpassede handlingskabinetfil til det tilpassede handlingsbibliotek i Power Automate.

Flere oplysninger: Upload tilpassede handlinger

Brug din tilpassede handlingsaktivitet i skrivebordsflow ved hjælp af Power Automate til desktop

  1. Opret et nyt skrivebordsflow, og vælg Aktivbibliotek i flowdesigneren.

    Skærmbillede af Naviger til Aktivbibliotek i Power Automate til desktop

  2. Undersøg den tilpassede handling, der er tilgængelig i aktivbiblioteket. Bemærk den handling, der tidligere er oprettet og uploadet til afsnittet om tilpassede handlinger i Power Automate.

    Vælg Tilføj for at tilføje denne tilpassede handling til sektionen Handlinger af designeren.

    Skærmbillede af Tilføj tilpasset handling fra Aktivbibliotek

  3. Bekræft, at den tilpassede handling er tilføjet. Søg efter det på i søgelinjen Handlinger i Power Automate for desktops designer.

    Skærmbillede af Søg efter tilpasset handling i Power Automate til skrivebord

  4. Træk den tilpassede handling, eller dobbeltklik på den for at føje til skrivebordsflowet.

  5. Angiv inputparametrene og yderligere trin for at teste den tilpassede handling.

    Skærmbillede af inputparametre i en tilpasset handling

    Eksempel på skrivebordsflow ved hjælp af den tilpasset handling.

    Skærmbillede af Brug af tilpasset handling i skrivebordsflow

  6. Test flowet for at se den tilpassede handling, der fungerer i realtid.

    Test tilpasset handling i skrivebordsflow

Bemærk

Importer det certifikat, der bruges til at signere kabinetfilen, til den maskine, der bruges til at bygge desktop-flows med tilpassede handlinger, og til hver af de runtime-maskiner, der kører desktop-flowene.

Efter disse trin blev der oprettet en tilpasset handling, modulet pakket ind i en kabinetfil, signeret med et betroet certifikat, uploadet til biblioteket med tilpasset handling i Power Automate, et skrivebordsflow for at bruge den tilpassede handling, der er oprettet og testet for en vellykket kørsel.

Opdater og genimplementer den tilpassede handling

Opdater funktionaliteten af ​​den tilpassede handling for at afspejle den opdaterede funktion ved at følge disse trin.

  1. Opdater klassefilen i Visual Studio-løsning med ny handlingsfunktionalitet. Flere oplysninger: Uploadet .NET-modulløsning

    Ændrede signaturen for klassefilen til at tage en tredje inputparameter ind som vist.

    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. Brug lignende trin beskrevet tidligere, hvor du signerer DLL-filen, opretter kabinetfilen, underskriver kabinetfilen og uploader kabinetfilen til afsnittet om tilpassede handlinger i Power Automate. Flere oplysninger: Byg pakken og implementer din tilpassede handling

    Bemærk

    Før du uploader den opdaterede tilpassede handlingskabinetfil, skal du sørge for at analysere virkningen af ​​denne ændring, da skrivebordsflow med denne handling vil blive opdateret med nye muligheder.

    Skærmbillede af opdatering af den tilpassede handling i Power Automate-portal

  3. Opdater skrivebordsflowet efter behov.

    For at validere opdateringskapaciteten har vi tilføjet en tredje inputparameter til den tilpassede handling. Bemærk, at tilpasset handlingsaktivitet er markeret som Fejl i designeren, og den skal opdateres med ny inputparameter.

    Skærmbillede af refaktorering af skrivebordsflowet

    Skærmbillede af opdateret tilpasset handling med yderligere inputparametre

  4. Test flowet for at se den opdaterede handling, der fungerer i realtid.

    Gentest den opdaterede brugerdefinerede handling i skrivebordsflow

I dette afsnit opdaterede du den underliggende funktionalitet af den tilpassede handling, byggede pakken, implementerede til Power Automate, refaktorerede skrivebordsforløbet og validerede funktionaliteten ved at køre skrivebordsforløbet med opdaterede funktioner for den tilpassede handling i Power Automate til desktop.