Freigeben über


So richten Sie benutzerdefinierte Aktionen in Power Automate für Desktop ein

Steigern Sie die Produktivität, Wiederverwendbarkeit und Erweiterbarkeit mit benutzerdefinierten Aktionen in Power Automate für Desktop. In diesem Artikel wird erläutert, wie benutzerdefinierte Aktionen in Power Automate für Desktop Erstellenden dabei helfen können, ihre eigenen wiederverwendbaren Aktionen zu erstellen, die in mehreren Flows verwendet werden können. Erstellende erstellen benutzerdefinierte Aktionen, indem sie eine Abfolge von Schritten oder Funktionen zu einer neuen Aktion zusammenfügen. Benutzerdefinierte Aktionen werden mit dem Aktions-SDK für Power Automate für Desktop erstellt, das eine Reihe von APIs bereitstellt, mit denen Erstellende benutzerdefinierte Aktionen mit der .NET-Sprache C# erstellen können. Benutzerdefinierte Aktionen können auch über den Abschnitt „benutzerdefinierte Aktionen“ in Power Automate (make.powerautomate.com) mit anderen Benutzenden geteilt werden. In diesem Artikel finden Sie detaillierte Anleitungen zum Erstellen, Einrichten, Bereitstellen, Verwenden und Aktualisieren benutzerdefinierter Aktionen.

Wichtig

Während die wesentlichen Funktionen, die beim Erstellen benutzerdefinierter Aktionen verwendet werden, unterstützt werden, dienen die bereitgestellten Lösungen, Anlagen und Beispielskripte, die hier erwähnt werden, als beispielhafte Implementierung dieser Features und beinhalten keinen Support.

Überblick

Die benutzerdefinierte Aktionsfunktion in Power Automate für Desktop erlaubt Ihnen, Ihre eigenen wiederverwendbaren Aktionen zu erstellen, die über mehrere Desktop-Flows hinweg verwendet werden können. Benutzerdefinierte Aktionen sparen Ihnen Zeit und Mühe, da Sie komplexe oder häufig verwendete Aktionen wiederverwenden können, ohne sie jedes Mal neu erstellen zu müssen, wenn Sie einen neuen Flow erstellen. Erstellende können ihre vorhandenen Fähigkeiten und Kenntnisse nutzen, um benutzerdefinierte Aktionen zu erstellen, die sich in andere Systeme und Dienste integrieren lassen. Darüber hinaus können professionelle Entwickelnde die vorhandenen Funktionen oder Codebibliotheken verpacken, um eine neue benutzerdefinierte Aktion zu erstellen, die zu einer erhöhten Wiederverwendbarkeit von Unternehmensressourcen führt.

Sie erstellen benutzerdefinierte Aktionen, indem sie eine Abfolge von Methoden oder Funktionen zu einer neuen Aktion zusammenfügen. Sobald Sie eine benutzerdefinierte Aktion erstellt haben, können Sie sie in einem beliebigen Desktop-Flow verwenden, indem Sie sie per Drag & Drop auf den Designer-Canvas von Power Automate für Desktop ablegen.

Benutzerdefinierte Aktionen können über den Abschnitt „Benutzerdefinierte Aktionen“ in Power Automate mit anderen Benutzern geteilt werden, der ein zentrales Repository zum Teilen und Entdecken benutzerdefinierter Aktionen bietet. Dies bedeutet, dass Benutzende vom Fachwissen und Wissen anderer in der Organisation profitieren und benutzerdefinierte Aktionen, die von anderen Entwickelnden erstellt wurden, problemlos finden und verwenden können.

Insgesamt bieten benutzerdefinierte Aktionen in Power Automate für Desktop eine leistungsstarke Möglichkeit, die Funktionalität des Produkts zu erweitern, den Flow-Erstellungsprozess zu rationalisieren und die Zusammenarbeit und Innovation innerhalb der Organisation zu fördern.

Anforderungen

Ihre eigene benutzerdefinierte Aktion erstellen

  1. Öffnen Sie Visual Studio, um ein neues Projekt mithilfe der Vorlage von Klassenbibliothek (.NET Framework) zu erstellen. Screenshot des Dialogfelds „C#-Projekt erstellen“

  2. Konfigurieren Sie Ihr neues Projekt mit einem Projektnamen und einem Dateispeicherort und legen Sie das Framework auf .NET Framework 4.7.2 fest.

    Anmerkung

    Stellen Sie sicher, dass Sie die Namenskonventionen einhalten. Weitere Informationen: Namenskonventionen für benutzerdefinierte Module

    Screenshot der Details zu „C#-Klassenbibliothek“ erstellen.

  3. Wählen Sie in Visual Studio Tools>NuGet-Paketmanager>Paketmanager-Konsole aus.

    Screenshot des .NET-Paketmanagers.

  4. Öffnen Sie ein PowerShell-Fenster und installieren Sie das NuGet-Paket PowerAutomate.Desktop.Actions.SDK mit diesem PowerShell-Befehl.

    Find-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
    NuGet\Install-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
    
  5. Befolgen Sie die Schritte unter Benutzerdefinierte Aktionen erstellen, um die Klassendatei für Ihre benutzerdefinierte Aktion zu erstellen.

Informationen, die Sie als Referenz für Ihre Aktion verwenden können

Referenzlösungsarchiv: .NET-Modullösung

Aktion: Schreiben Sie eine Nachricht in eine lokale Datei.

Eingabeparameter: Dateiname, Nachricht, die in die Datei geschrieben werden soll.

Ausgabeparameter: Statuscode – wahr, wenn erfolgreich, und falsch, wenn nicht erfolgreich.

Klassendefinition:

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

Ressourcen: Diese Tabelle listet die Beschreibungen und Anzeigenamen für Parameter in einer Resources.resx-Datei auf.

Name des Dataflows Wert Kommentieren
LogEventToFile_Description Benutzerdefinierte Aktion zum Protokollieren von Nachrichten in der bereitgestellten Datei Aktionsbeschreibung
LogEventToFile_FriendlyName LogEventToFile Aktionsname
LogEventToFile_LogFileName_Description Eingabeparameter des Texttyps Aktionseingabebeschreibung
LogEventToFile_LogFileName_FriendlyName LogFileName Aktionseingabename
LogEventToFile_LogMessage_Description Eingabeparameter des Texttyps Aktionseingabebeschreibung
LogEventToFile_LogMessage_FriendlyName LogMessage Aktionseingabename
LogEventToFile_StatusCode_Description Ausgabeparameter vom booleschen Typ Aktionsausgabebeschreibung
LogEventToFile_StatusCode_FriendlyName LogMessage Aktionsausgabename
ModulesLogEvent_Description Modul zur Verwaltung von Protokollereignissen Modulbeschreibung
ModulesLogEvent_FriendlyName LogEvent Modulname

Das Paket erstellen und Ihre benutzerdefinierte Aktion bereitstellen

Erstellen Sie das Paket und stellen Sie es unter Power Automate bereit.

  1. Erwerben Sie das digitale Zertifikat, damit die benutzerdefinierte Aktions-DLL-Datei signiert werden kann.

    Wichtig

    Selbstsignierte Zertifikate dienen nur zu Testzwecken und werden nicht für den Einsatz in der Produktion empfohlen. Für die organisatorische Bereitstellung benutzerdefinierter Aktionen in Ihrer Umgebung empfehlen wir die Verwendung eines vertrauenswürdigen digitalen Zertifikats, das Ihren Organisationsrichtlinien entspricht.

    Tipp

    Um den Prozess der Entwicklung und Verwendung benutzerdefinierter Aktionen für Power Automate für Desktops in Ihrer gesamten Organisation zu optimieren, können Sie ein vertrauenswürdiges digitales Zertifikat mit dem Power Automate für Desktop-Installationsprogramm bündeln, das über SCCM/Appstore bereitgestellt wird. > Dadurch kann das Zertifikat automatisch sowohl auf Computern von Erstellenden als auch mit unbeaufsichtigter Runtime installiert werden, die Power Automate für Desktop benötigen, ohne dass zusätzliche Maßnahmen erforderlich sind.

    In diesem Beispiel wird ein selbstsigniertes Zertifikat verwendet.

    1. Erstellen Sie mit diesem Skript ein selbstsigniertes Zertifikat.

      $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. Importieren Sie das Zertifikat mit diesem Befehl in den Zertifikatspeicher.

      ##Import certificate
      Import-Certificate -CertStoreLocation $certStoreLocation -FilePath $certCERFile
      
    3. Überprüfen Sie, ob das importierte Zertifikat unter Vertrauenswürdige Stammzertifizierungsstellen>Zertifikate im Snap-In der Microsoft Manager-Konsole (MMC) für Zertifikate angezeigt wird.

      Screenshot des validierenden Zertifikats im Zertifikatsmanager

  2. Schließen Sie das erstellte benutzerdefinierte Modul fertig, indem Sie die DLL-Datei mit einem vertrauenswürdigen Zertifikat signieren. Verwenden Sie die Eingabeaufforderung für die Entwicklung von Visual Studio, um das Signtool für diese Aktivität zu verwenden.

    Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/Modules.LogEvent.dll"
    
  3. Um die benutzerdefinierte Aktion bereitzustellen, erstellen Sie den Inhalt des Pakets mithilfe dieses PowerShell-Skripts in einer CAB-Datei (.cab).

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

    Gehen Sie zur Beispielskriptdatei BuildCAB.ps1

  4. Signieren Sie die generierte CAB-Datei mit Signtool.

    Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/PADCustomActionEventLog.cab"
    
  5. Gehen Sie zum Abschnitt „Benutzerdefinierte Aktion“ von Power Automate, um die von Ihnen erstellte benutzerdefinierte Aktion hochzuladen. Geben Sie den Namen, die Beschreibung und die CAB-Datei ein und wählen Sie dann Hochladen aus.

    Screenshot des Imports eines benutzerdefinierten Aktionspakets (CAB-Datei) in das Power Automate Portal

    Sie erhalten eine Benachrichtigung, wenn die Aktion erfolgreich hochgeladen wurde.

Nach diesen Schritten wird das benutzerdefinierte Aktionsmodul in eine CAB-Datei gepackt und mit einem vertrauenswürdigen Zertifikat signiert. Darüber hinaus wird die CAB-Datei für die benutzerdefinierte Aktion in die benutzerdefinierte Aktionsbibliothek in Power Automate hochgeladen.

Weitere Informationen: Benutzerdefinierte Aktionen hochladen

Ihre benutzerdefinierte Aktionsaktivität im Desktop-Flow mit Power Automate für Desktop verwenden

  1. Erstellen Sie einen neuen Desktop-Flow und wählen Sie dann die Objektbibliothek im Designer aus.

    Screenshot von „Zur Objektbibliothek navigieren“ in Power Automate für Desktop

  2. Überprüfen Sie die benutzerdefinierte Aktion, die in der Objektbibliothek verfügbar ist. Beachten Sie die Aktion, die zuvor erstellt und in den Abschnitt „benutzerdefinierte Aktionen“ von Power Automate hochgeladen wurde.

    Wählen Sie Hinzufügen aus, um diese benutzerdefinierte Aktion zum Abschnitt Aktionen des Designers hinzuzufügen.

    Screenshot von „Benutzerdefinierte Aktion hinzufügen“ aus der Objektbibliothek

  3. Überprüfen Sie, ob die benutzerdefinierte Aktion erfolgreich hinzugefügt wurde. Suchen Sie in der Aktionen-Suchleiste im Designer von Power Automate für Desktop danach.

    Screenshot der Suche nach der benutzerdefinierten Aktion in Power Automate für Desktop

  4. Ziehen Sie die benutzerdefinierte Aktion oder doppelklicken Sie darauf, um sie dem Desktop-Flow hinzuzufügen.

  5. Geben Sie die Eingabeparameter und zusätzlichen Schritte zum Testen der benutzerdefinierten Aktion an.

    Screenshot der Eingabeparameter für die benutzerdefinierte Aktion

    Beispiel für einen Desktop-Flow mit der benutzerdefinierten Aktion.

    Screenshot des Verwendens der benutzerdefinierten Aktion im Desktop-Flow

  6. Testen Sie den Flow, um zu sehen, wie die benutzerdefinierte Aktion in Echtzeit funktioniert.

    Die benutzerdefinierte Aktion in Desktop-Flow testen

Anmerkung

Importieren Sie das zum Signieren der CAB-Datei verwendete Zertifikat auf den Computer, der zum Erstellen von Desktop-Flows mit benutzerdefinierten Aktionen verwendet wird, und auf jeden der Runtime-Computer, auf denen die Desktop-Flows ausgeführt werden.

Nach diesen Schritten wurde eine benutzerdefinierte Aktion erstellt, das Modul in eine CAB-Datei verpackt, mit einem vertrauenswürdigen Zertifikat signiert und in die benutzerdefinierte Objektbibliothek in Power Automate hochgeladen, ein Desktop-Flow zur Verwendung der benutzerdefinierten Aktion erstellt und für eine erfolgreiche Ausführung getestet.

Die benutzerdefinierte Aktion aktualisieren und erneut bereitstellen

Gehen Sie wie folgt vor, um die Funktionalität der benutzerdefinierten Aktion zu aktualisieren, sodass sie die aktualisierte Funktion widerspiegelt.

  1. Aktualisieren Sie die Klassendatei in der Visual Studio-Lösung mit neuer Aktionsfunktionalität. Weitere Informationen: Aktualisierte .NET-Modullösung

    Die Signatur der Klassendatei wurde geändert, um, wie dargestellt, einen dritten Eingabeparameter aufzunehmen.

    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. Führen Sie die oben beschriebenen Schritte aus, bei denen Sie die DLL-Datei signieren, die CAB-Datei erstellen, die CAB-Datei signieren und die CAB-Datei in den Abschnitt „Benutzerdefinierte Aktionen“ in Power Automate hochladen. Weitere Informationen: Das Paket erstellen und Ihre benutzerdefinierte Aktion bereitstellen

    Anmerkung

    Stellen Sie vor dem Hochladen der aktualisierten CAB-Datei für benutzerdefinierte Aktionen sicher, dass Sie die Auswirkungen dieser Änderung analysieren, da Desktop-Flows mit dieser Aktion mit neuen Funktionen aktualisiert werden.

    Screenshot der Aktualisierung der benutzerdefinierten Aktion im Power Automate-Portal

  3. Aktualisieren Sie den Desktop-Flow nach Bedarf.

    Um die Aktualisierungsfähigkeit zu validieren, haben wir der benutzerdefinierten Aktion einen dritten Eingabeparameter hinzugefügt. Beachten Sie, dass die benutzerdefinierte Aktionsaktivität im Designer als Fehler gekennzeichnet ist und mit neuen Eingabeparametern aktualisiert werden muss.

    Screenshot der Umgestaltung des Desktop-Flows

    Screenshot der aktualisierten benutzerdefinierten Aktion mit zusätzlichen Eingabeparametern

  4. Testen Sie den Flow, um zu sehen, wie die aktualisierte benutzerdefinierte Aktion in Echtzeit funktioniert.

    Die aktualisierte benutzerdefinierte Aktion im Desktop-Flow erneut testen

In diesem Abschnitt haben Sie die zugrunde liegende Funktionalität der benutzerdefinierten Aktion aktualisiert, das Paket erstellt, in Power Automate bereitgestellt, den Desktop-Flow umgestaltet und die Funktionalität validiert, indem Sie den Desktop-Flow mit der aktualisierten Funktionalität der benutzerdefinierten Aktion in Power Automate für Desktop ausgeführt haben.