Del via


Bygge egendefinerte handlinger i Power Automate for skrivebordet

Forbedre produktiviteten, gjenbrukbarheten og utvidbarheten med tilpassede handlinger i Power Automate for skrivebordet. Denne artikkelen diskuterer hvordan egendefinerte handlinger i Power Automate for skrivebord kan hjelpe opprettere med å lage sine egne gjenbrukbare handlinger som kan brukes på tvers av flere flyter. Opprettere lager egendefinerte handlinger ved å sette sammen en sekvens av trinn eller funksjoner til en ny handling. Egendefinerte handlinger opprettes ved å bruke handlings-SDKen for Power Automate for skrivebord, som gir et sett med APIer som lar produsenter lage egendefinerte handlinger ved å bruke .NET-språket C#. Egendefinerte handlinger kan også deles med andre brukere gjennom delen for egendefinerte handlinger i Power Automate (make.powerautomate.com). I denne artikkelen finner du detaljerte gjennomganger av hvordan du oppretter, bygger, distribuerer, bruker og oppdaterer egendefinerte handlinger.

Viktig

Selv om de essensielle funksjonene som brukes til å lage tilpassede handlinger, støttes, fungerer de medfølgende løsningene, ressursene og eksempelskriptene nevnt her som eksempler på implementering av disse funksjonene, og inkluderer ikke støtte.

Oversikt

Mulighet for tilpassede handlinger i Power Automate for skrivebord lar deg lage dine egne gjenbrukbare handlinger som kan brukes på tvers av flere skrivebordsflyter. Tilpassede handlinger sparer deg for tid og krefter ved at du kan gjenbruke komplekse eller ofte brukte handlinger uten å måtte gjenopprette dem hver gang du bygger en ny flyt. Opprettere kan bruke sine eksisterende ferdigheter og kunnskaper for å lage tilpassede handlinger som integreres med andre systemer og tjenester. I tillegg kan proutviklere pakke inn eksisterende funksjoner eller kodebiblioteker for å lage en ny tilpasset handling som resulterer i økt gjenbruk av organisasjonsressurser.

Du kan lager egendefinerte handlinger ved å sette sammen en sekvens av metoder eller funksjoner til en ny handling. Når du har opprettet en egendefinert handling, kan du bruke den i en hvilken som helst skrivebordsflyt ved å dra og slippe den på Power Automate-skrivebordsdesignerlerret.

Egendefinerte handlinger kan deles med andre brukere gjennom egendefinerte handlinger-delen i Power Automate, som gir et sentralt oppbevaringssted for deling og oppdagelse av egendefinerte handlinger. Dette betyr at brukere kan dra nytte av ekspertisen og kunnskapen til andre i organisasjonen og enkelt kan finne og bruke tilpassede handlinger laget av andre opprettere.

Totalt sett gir tilpassede handlinger i Power Automate for skrivebord en kraftig måte å utvide funksjonaliteten til produktet, strømlinjeforme flytbyggingsprosessen og fremme samarbeid og innovasjon i organisasjonen.

Forutsetning

Opprette din egen egendefinerte handling

  1. Åpne Visual Studio for å opprette et nytt prosjekt ved å bruke malen til Klassebibliotek (.NET Framework). Skjermbilde av dialogboksen Lag C#-prosjekt.

  2. Konfigurer det nye prosjektet ditt med et prosjektnavn, filplassering, og sett Rammeverk til .NET Framework 4.7.2.

    Merk

    Pass på at du følger navnekonvensjonene. Mer informasjon: Egendefinerte modulnavnkonvensjoner

    Skjermbilde av Opprett C#-klassebibliotekdetaljer.

  3. I Visual Studio velg Verktøy>NuGet-pakkebehandling>Pakkebehandlingskonsollen.

    Skjermbilde av .NET-pakkebehandling.

  4. Åpne et PowerShell-vindu, og installer NuGet-pakke PowerAutomate.Desktop.Actions.SDK ved å bruke denne PowerShell-kommandoen.

    Find-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
    NuGet\Install-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
    
  5. Følg trinnene i Opprett egendefinerte handlinger for å lage klassefilen for din egendefinerte handling.

Informasjon du kan bruke som referanse for handlingen din

Referanseløsningsarkiv: .NET-modulløsning

Handling: Skriv en melding til en lokal fil.

Inndataparametere: Filnavn, melding for å skrive til filen.

Utdataparametere: Statuskode – sann hvis vellykket og usann hvis ikke vellykket.

Klassedefinisjon:

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

Ressurser: Denne tabellen viser beskrivelser og vennlige navn for parametere i en Resources.resx-fil.

Name Verdi Comment
LogEventToFile_Description Egendefinert handling for å logge melding til den medfølgende filen Handlingsbeskrivelse
LogEventToFile_FriendlyName LogEventToFile Handlingsnavn
LogEventToFile_LogFileName_Description Inndataparameter for teksttype Handlingsinndatabeskrivelse
LogEventToFile_LogFileName_FriendlyName LogFileName Navn på handlingsinndata
LogEventToFile_LogMessage_Description Inndataparameter for teksttype Handlingsinndatabeskrivelse
LogEventToFile_LogMessage_FriendlyName LogMessage Navn på handlingsinndata
LogEventToFile_StatusCode_Description Utgangsparameter av boolsk type Beskrivelse av handlingsutdata
LogEventToFile_StatusCode_FriendlyName LogMessage Navn på handlingsutdata
ModulesLogEvent_Description Modul for å administrere logghendelser Modulbeskrivelse
ModulesLogEvent_FriendlyName LogEvent Modulnavn

Bygg pakken, og distribuer din egendefinerte handling

Opprett pakken og distribuer til Power Automate.

  1. Skaff deg det digitale sertifikatet slik at den tilpassede handlings-DLL-filen kan signeres.

    Viktig

    Selvsignerte sertifikater er kun for testformål og anbefales ikke for produksjonsbruk. For organisatorisk distribusjon av egendefinerte handlinger i ditt miljø, anbefaler vi at du bruker et klarert digitalt sertifikat som følger organisasjonens retningslinjer.

    Tips

    For å strømlinjeforme prosessen med å utvikle og bruke tilpassede handlinger for Power Automate for skrivebord på tvers av organisasjonen din, kan du samle et pålitelig digitalt sertifikat med Power Automate for skrivebord-installasjonsprogrammet som distribueres gjennom SCCM/Appstore. > Dette vil gjøre det mulig å installere sertifikatet automatisk på både opprettermaskiner og uovervåket kjøretidsmaskiner som krever Power Automate for skrivebordet, uten behov for ytterligere handlinger.

    For dette eksempelet brukes et selvsignert sertifikat.

    1. Opprett et selvsignert sertifikat ved hjelp av dette skriptet.

      $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 sertifikatet til sertifikatlageret med denne kommandoen.

      ##Import certificate
      Import-Certificate -CertStoreLocation $certStoreLocation -FilePath $certCERFile
      
    3. Bekreft at det importerte sertifikatet vises under klarerte rotsertifiseringsinstanser>Sertifikater i MMC-snapin-modulen for sertifikater (Microsoft Manager Console).

      Skjermbilde av sertifikatvalidering i Sertifikatbehandling

  2. Fullfør den tilpassede modulen som er opprettet, ved å signere DLL-filen med et klarert sertifikat. Bruk Visual Studio-utviklerledeteksten for å bruke Signtool for denne aktiviteten.

    Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/Modules.LogEvent.dll"
    
  3. For å distribuere den tilpassede handlingen, bygg pakkeinnholdet inn i en kabinettfil (.cab) ved å bruke dette PowerShell-skriptet.

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

    Gå til eksempelskriptfilen BuildCAB.ps1

  4. Signer den genererte kabinettfilen med Signtool.

    Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/PADCustomActionEventLog.cab"
    
  5. Gå til den delen egendefinert Power Automate-handling for å laste opp den egendefinerte handlingen du opprettet. Angi navn, beskrivelse og kabinettfilt, og velg deretter Last opp.

    Skjermbilde av import av tilpasset handlingspakke (CAB-fil) i Power Automate-portalen

    Du får et varsel når handlingen er lastet opp.

Etter disse trinnene pakkes den tilpassede handlingsmodulen inn i en kabinettfil og signeres med et klarert sertifikat. I tillegg blir kabinettfilen for den egendefinerte handlingen lastet opp til biblioteket for egendefinert handling i Power Automate.

Mer informasjon: Last opp egendefinerte handlinger

Bruk din aktiviteten for egendefinert handling i skrivebordsflytet ved å bruke Power Automate for skrivebord

  1. Opprett en ny skrivebordsflyt, og velg deretter Aktivabibliotek i utformingen.

    Skjermbilde av Naviger til aktivabiblioteket i Power Automate for skrivebord

  2. Inspiser den egendefinerte handlingen som er tilgjengelig i ressursbiblioteket. Legg merke til handlingen som tidligere er opprettet og lastet opp til delen for egendefinerte handlinger i Power Automate.

    Velg Legg til for å legge til denne egendefinerte handlingen i Handlinger-delen av utformingen.

    Skjermbilde av Legg til egendefinert handling fra Aktivabibliotek

  3. Bekreft at den tilpassede handlingen er lagt til. Søk etter den i Handlinger-søkefeltet i Power Automate for skrivebord-utformingen.

    Skjermbilde av Søk etter tilpasset handling i Power Automate for skrivebord

  4. Dra den egendefinerte handlingen, eller dobbeltklikk den for å legge til skrivebordsflyten.

  5. Oppgi inndataparametere og tilleggstrinn for å teste den egendefinerte handlingen.

    Skjermbilde av inndataparametere for egendefinert handling

    Eksempel på skrivebordsflyt ved hjelp av den tilpassede handlingen.

    Skjermbilde av bruk av egendefinert handling i skrivebordsflyt

  6. Test flyten for å se den tilpassede handlingen fungere i sanntid.

    Teste den egendefinerte handlingen i skrivebordsflyt

Merk

Importer sertifikatet som brukes til å signere kabinettfilen til maskinen som brukes til å bygge skrivebordsflyter med egendefinerte handlinger, og til hver av kjøretidsmaskinene som skal kjøre skrivebordsflytene.

Etter disse trinnene ble det opprettet en tilpasset handling, modulen ble pakket til en kabinettfil, signert med et klarert sertifikat, lastet opp til biblioteket for tilpasset handling i Power Automate, og en skrivebordsflyt for å bruke den tilpassede handlingen opprettes og testet for en vellykket kjøring.

Oppdatere og bruke den egendefinerte handlingen på nytt

Oppdater funksjonaliteten til den egendefinerte handlingen for å gjenspeile den oppdaterte muligheten ved å følge disse trinnene.

  1. Oppdater klassefilen i Visual Studio-løsningen med ny handlingsfunksjonalitet. Mer informasjon: Oppdatert -NET-modulløsning

    Endret signaturen til klassefilen for å ta inn en tredje inngangsparameter 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. Bruk lignende trinn beskrevet tidligere der du signerer DLL-filen, oppretter kabinettfilen, signerer kabinettfilen og laster opp kabinettfilen til egendefinerte handlinger i Power Automate. Mer informasjon: Bygge pakken og distribuere din egendefinerte handling

    Merk

    Før du laster opp den oppdaterte filen kabinettfilen for egendefinert handling sørg for å analysere virkningen av denne endringen ettersom skrivebordsflyter med denne handlingen vil bli oppdatert med nye funksjoner.

    Skjermbilde av oppdatering av den tilpassede handlingen i Power Automate-portalen

  3. Oppdater skrivebordsflyten etter behov.

    For å validere oppdateringsevnen la vi til en tredje inngangsparameter til den tilpassede handlingen. Legg merke til at aktiviteten for egendefinert handling er merket som Feil i utformingen, og den må oppdateres med ny inndataparameter.

    Skjermbilde av refaktorering av skrivebordsflyt

    Skjermbilde av oppdatert egendefinert handling med flere inndataparametere

  4. Test flyten for å se den oppdaterte tilpassede handlingen som fungerer i sanntid.

    Test den oppdaterte egendefinerte handlingen på nytt i skrivebordsflyten

I denne delen oppdaterte du den underliggende funksjonaliteten til den tilpassede handlingen, bygde pakken, distribuerte til Power Automate, refaktorerte skrivebordsflyten og validerte funksjonaliteten ved å kjøre skrivebordsflyten med oppdaterte funksjoner for den tilpassede handlingen i Power Automate for skrivebordet.