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
- Seneste version af Power Automate til skrivebord – Installér Power Automate
- C# forfatterværktøj som f.eks. Visual Studio Fællesskab/professionel/virksomhed 2022 med arbejdsbyrden for .NET-skrivebordsudvikling
- SDK for tilpassede handlinger – NuGet Galleri | Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
- Digitalt certifikat:
- Generer et selvsigneret certifikat – Generer selvsignerede certifikater Oversigt – .NET
- Virksomhedsimplementering – Din organisations betroede certifikat fra certifikatmyndigheden – Digitale signaturer og certifikater – Office Support
- SignTool:
- Windows PowerShell Script (.ps1) – Opret brugerdefinerede handlinger – Power Automate
Oprette din egen tilpasset handling
Åbn Visual Studio for at oprette et nyt projekt ved hjælp af skabelonen Klassebibliotek (.NET Framework).
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
I Visual Studio skal du vælge Værktøjer>NuGet Package Manager>Package Manager Console.
Å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
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.
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.
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
Importer certifikatet til certifikatlageret ved hjælp af denne kommando.
##Import certificate Import-Certificate -CertStoreLocation $certStoreLocation -FilePath $certCERFile
Kontroller, at det importerede certifikat vises under Nøglecentre, der er tillid til>Certifikater i Certifikater i Microsoft Manager Console (MMC) snap-in.
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"
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
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"
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.
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
Opret et nyt skrivebordsflow, og vælg Aktivbibliotek i flowdesigneren.
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.
Bekræft, at den tilpassede handling er tilføjet. Søg efter det på i søgelinjen Handlinger i Power Automate for desktops designer.
Træk den tilpassede handling, eller dobbeltklik på den for at føje til skrivebordsflowet.
Angiv inputparametrene og yderligere trin for at teste den tilpassede handling.
Eksempel på skrivebordsflow ved hjælp af den tilpasset handling.
Test flowet for at se den tilpassede handling, der fungerer i realtid.
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.
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); } } } }
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.
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.
Test flowet for at se den opdaterede handling, der fungerer i realtid.
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.