Dela via


Hur du skapar anpassade åtgärder i Power Automate för dator

Förbättra produktiviteten, återanvändbarheten och utökbarheten med anpassade åtgärder i Power Automate för dator. Den här artikeln diskuterar hur anpassade åtgärder i Power Automate för dator kan hjälpa utvecklare att skapa sina egna återanvändbara åtgärder som kan användas i flera flöden. Utvecklare skapar anpassade åtgärder genom att sammansätta en sekvens av steg eller funktioner till en ny åtgärd. Anpassade åtgärder skapas med hjälp av åtgärds-SDK för Power Automate för dator som tillhandahåller en uppsättning API:er som gör det möjligt för utvecklare att skapa anpassade åtgärder med .NET-språket C#. Anpassade åtgärder kan också delas med andra användare via avsnittet anpassade åtgärder i Power Automate (make.powerautomate.com). I den här artikeln hittar du detaljerade genomgångar av hur du skapar, bygger, distribuerar, använder och uppdaterar anpassade åtgärder.

Viktigt!

Även om de väsentliga funktionerna som används för att skapa anpassade åtgärder stöds, fungerar de tillhandahållna lösningarna, tillgångarna och exempelskripten som nämns här som exempel på implementering av dessa funktioner och inkluderar inte support.

Översikt

Möjlighet för anpassade åtgärder i Power Automate för dator låter dig skapa dina egna återanvändbara åtgärder som kan användas över flera datorflöden. Anpassade åtgärder sparar tid och ansträngning genom att du kan återanvända komplexa eller ofta använda åtgärder utan att behöva återskapa dem varje gång du bygger ett nytt flöde. Tillverkare kan tillämpa sina befintliga färdigheter och kunskaper för att skapa anpassade åtgärder som integreras med andra system och tjänster. Dessutom kan proffsutvecklare slå in befintliga funktioner eller kodbibliotek för att göra en ny anpassad åtgärd som resulterar i ökad återanvändning av organisationstillgångar.

Du skapar anpassade åtgärder genom att sammansätta en sekvens av metoder eller funktioner till en ny åtgärd. När du väl har skapat en anpassad åtgärd kan du använda den i alla skrivbordsflöden genom att dra och släppa den på arbetsytan Power Automate datorflöde.

Anpassade åtgärder kan delas med andra användare via avsnittet anpassade åtgärder i Power Automate, som tillhandahåller ett centralt arkiv för att dela och upptäcka anpassade åtgärder. Detta innebär att användare kan dra nytta av expertis och kunskap hos andra i organisationen och enkelt kan hitta och använda anpassade åtgärder skapade av andra utvecklare.

Sammantaget anpassade åtgärder i Power Automate för dator ger ett kraftfullt sätt att utöka produktens funktionalitet, effektivisera processen för flödesbyggande och främja samarbete och innovation inom organisationen.

Förutsättningar

Skapa egna anpassade åtgärd

  1. Öppna Visual Studio för att skapa ett nytt projekt med mallen för Klassbibliotek (.NET Framework). Skärmbild av dialogrutan Skapa C#-projekt.

  2. Konfigurera ditt nya projekt med ett projektnamn, filplats och ställ in Framework som .NET Framework 4.7.2.

    Kommentar

    Se till att följa namnkonventioner. Mer information: Anpassade modulnamnkonventioner

    Skärmbild av Skapa C#-klassbiblioteksdetaljer.

  3. I Visual Studio, välj Verktyg>NuGet pakethanterare>Pakethanterarkonsol.

    Skärmbild av .NET pakethanteraren.

  4. Öppna ett PowerShell-fönster och installera NuGet-paket PowerAutomate.Desktop.Actions.SDK med det här PowerShell-kommandot.

    Find-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
    NuGet\Install-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
    
  5. Följ stegen i Skapa anpassade åtgärder för att skapa klassfilen för din anpassade åtgärd.

Information du kan använda som referens för din åtgärd

Referenslösningsarkiv: .NET modullösning

Åtgärd: Skriv ett meddelande till en lokal fil.

Inmatningsparametrar: Filnamn, meddelande att skriva till filen.

Utdataparametrar: Statuskod – sant om det lyckades och falskt om det inte lyckades.

Klassdefinition:

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

Resurser

Den här tabellen innehåller beskrivningar och egna namn för parametrar i en Resources.resx fil.

Namn Värde Kommentar
LogEventToFile_Description Anpassad åtgärd för att logga meddelande till den medföljande filen Beskrivning av åtgärd
LogEventToFile_FriendlyName LogEventToFile Åtgärdsnamn
LogEventToFile_LogFileName_Description Indataparameter för texttyp Beskrivning av åtgärdsindata
LogEventToFile_LogFileName_FriendlyName LogFileName Åtgärdsingångsnamn
LogEventToFile_LogMessage_Description Indataparameter för texttyp Beskrivning av åtgärdsindata
LogEventToFile_LogMessage_FriendlyName LogMessage Åtgärdsingångsnamn
LogEventToFile_StatusCode_Description Utdataparameter av boolesk typ Beskrivning av åtgärdsutgång
LogEventToFile_StatusCode_FriendlyName LogMessage Åtgärd outputName
ModulesLogEvent_Description Modul för att hantera logghändelser Modulbeskrivning
ModulesLogEvent_FriendlyName LogEvent Modulnamn

Bygg paketet och implementera din anpassade åtgärd

Skapa paketet och distribuera till Power Automate.

  1. Skaffa det digitala certifikatet så att den anpassade DLL-filen kan signeras.

    Viktigt!

    Självsignerade certifikat är endast för teständamål och rekommenderas inte för produktionsanvändning. För organisatorisk distribution av anpassade åtgärder i din miljö rekommenderar vi att du använder ett pålitligt digitalt certifikat som följer din organisations riktlinjer.

    Dricks

    För att effektivisera processen för att utveckla och använda anpassade åtgärder för Power Automate för datorer i hela din organisation kan du paketera ett betrott digitalt certifikat med Power Automate för skrivbordsinstallationsprogrammet som distribueras via SCCM/Appstore. > Detta gör att certifikatet kan installeras automatiskt på både utvecklare och obevakade körningsdatorer som kräver Power Automate för dator, utan att behöva göra ytterligare åtgärder.

    För detta exempel används ett självsignerat certifikat.

    1. Skapa ett självsignerat certifikat med detta skript.

      $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. Importera certifikatet till certifikatarkivet med detta kommando.

      ##Import certificate
      Import-Certificate -CertStoreLocation $certStoreLocation -FilePath $certCERFile
      
    3. Verifiera att det importerade certifikatet visas under betrodda rotcertifikatutfärdare>Certifikat i snapin-certifikatmodulen för Microsoft hanterarkonsol (MMC).

  2. Slutför den anpassade modulen som skapats genom att signera DLL-filen med ett pålitligt certifikat. Använd Visual Studio utvecklarkommandotolk för att använda Signtool för denna aktivitet.

    Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/Modules.LogEvent.dll"
    
  3. För att distribuera den anpassade åtgärden, bygg paketets innehåll till en kabinettfil (.cab) med hjälp av detta PowerShell-skript.

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

    Gå till exempelskriptfilen BuildCAB.ps1

  4. Signera den genererade kabinettfilen med Signtool.

    Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/PADCustomActionEventLog.cab"
    
  5. Gå till avsnittet Power Automate anpassad åtgärd för att ladda upp den anpassade åtgärden som du skapade. Ange namn, beskrivning och kabinettfil och välj sedan Ladda upp.

    Skärmbild av import av anpassat åtgärdspaket (CAB-fil) i Power Automate-portalen

    Du får en avisering när åtgärden är uppladdad.

Efter dessa steg paketeras den anpassade åtgärdsmodulen i en kabinettfil och signeras med ett pålitligt certifikat. Dessutom laddas den anpassade åtgärd kabinettfil upp till biblioteket för anpassade åtgärder i Power Automate.

Mer information: Ladda upp anpassade åtgärder

Använd din anpassade åtgärdsaktivitet i datorflödet med Power Automate för dator

  1. Skapa ett nytt datorflöde på skrivbordet och välj resursbiblioteket i designern.

    Skärmbild av Navigera till resursbiblioteket i Power Automate för dator

  2. Inspektera den anpassade åtgärden som är tillgänglig i resursbiblioteket. Notera åtgärden som tidigare skapats och laddats upp till avsnittet anpassade åtgärder i Power Automate.

    Välj Lägg till för att lägga till den här anpassade åtgärden till avsnittet Åtgärder hos designern.

    Skärmbild av Lägg till anpassad åtgärd från resursbiblioteket

  3. Verifiera att den anpassade åtgärden har lagts till. Sök efter den i sökfältet Åtgärder i Power Automate för datordesigner.

    Skärmbild av Sök efter anpassad åtgärd i Power Automate för dator

  4. Dra den anpassade åtgärden eller dubbelklicka på den för att lägga till i datorflödet.

  5. Ange indataparametrar och ytterligare steg för att testa den anpassade åtgärden.

    Skärmbild av indataparametrar för anpassad åtgärd

    Exempel på datorflöde med den anpassade åtgärden.

    Skärmbild av att använda anpassad åtgärd i datorflöde

  6. Testa flödet för att se den anpassade åtgärden fungera i realtid.

    Testa anpassad åtgärd i datorflödet

Kommentar

Importera certifikatet som används för att signera kabinettfilen till datorn som används för att bygga datorflöden med anpassade åtgärder och till var och en av körningsdatorerna som kör datorflödena.

Efter dessa steg skapades en anpassad åtgärd, modulen paketerades i en kabinettfil, signerad med ett pålitligt certifikat, laddades upp till biblioteket för anpassade åtgärder i Power Automate, ett datorflöde för att använda den anpassade åtgärden som skapats och testats för en framgångsrik körning.

Uppdatera och distribuera om den anpassade åtgärden

Uppdatera funktionaliteten för den anpassade åtgärden för att återspegla den uppdaterade kapaciteten genom att följa dessa steg.

  1. Uppdatera klassfilen i Visual Studio-lösning med ny åtgärdsfunktion. Mer information: Uppdatera .NET-modullösningen

    Ändrade signaturen för klassfilen för att ta in en tredje indataparameter som visas.

    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. Använd liknande steg som beskrivits tidigare där du signerar DLL-filen, skapar kabinettfilen, signerar kabinettfilen och laddar upp kabinettfilen till avsnittet anpassade åtgärder i Power Automate. Mer information: Bygg paketet och implementera din anpassade åtgärd

    Kommentar

    Innan du laddar upp den uppdaterade filen med anpassad kabinettfil, se till att analysera effekten av denna förändring eftersom datorflöden med den här åtgärden kommer att uppdateras med nya funktioner.

    Skärmbild av uppdatering av den anpassade åtgärden i Power Automate-portalen

  3. Uppdatera datorflödet efter behov.

    För att validera uppdateringsförmågan lade vi till en tredje indataparameter till den anpassade åtgärden. Observera att anpassad åtgärdsaktivitet är markerad som Fel i designern och den måste uppdateras med en ny indataparameter.

    Skärmbild av återanvända datorflöde

    Skärmbild av uppdaterad anpassad åtgärd med ytterligare indataparametrar

  4. Testa flödet för att se den uppdaterade anpassade åtgärden fungera i realtid.

    Testa om den uppdaterade anpassade åtgärden i datorflödet

I det här avsnittet uppdaterade du den underliggande funktionen för den anpassade åtgärden, skapade paketet, distribuerade till Power Automate, återanvände datorflödet och validerade funktionen genom att köra datorflödet med uppdaterade funktioner för den anpassade åtgärden i Power Automate för dator.