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
- Neueste Version von Power Automate für Desktop – Power Automate installieren
- C#-Dokumenterstellungs-Tool wie z. B. Visual Studio Community/Professional/Enterprise 2022 mit dem .NET-Desktop-Entwicklungs-Workload
- SDK für benutzerdefinierte Aktionen – NuGet-Katalog | Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
- Digitales Zertifikat:
- Generieren Sie ein selbstsigniertes Zertifikat – Übersicht über das Generieren selbstsignierter Zertifikate – .NET
- Enterprise-Bereitstellung – das vertrauenswürdige Zertifikat Ihrer Organisation von der Zertifizierungsstelle – Digitale Signaturen und Zertifikate – Office-Support
- SignTool:
- Windows-PowerShell-Skript (.ps1) – Benutzerdefinierte Aktionen erstellen – Power Automate
Ihre eigene benutzerdefinierte Aktion erstellen
Öffnen Sie Visual Studio, um ein neues Projekt mithilfe der Vorlage von Klassenbibliothek (.NET Framework) zu erstellen.
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
Wählen Sie in Visual Studio Tools>NuGet-Paketmanager>Paketmanager-Konsole aus.
Ö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
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);
}
}
}
}
Ressource
In dieser Tabelle werden die Beschreibungen und Anzeigenamen für Parameter in einer Resources.resx Datei aufgeführt.
Name des Dataflows | Wert | Kommentieren |
---|---|---|
LogEventToFile_Description | Benutzerdefinierte Aktion zum Protokollieren von Nachrichten in der bereitgestellten Datei | Aktionsbeschreibung |
LogEventToFile_FriendlyName | LogEventToFile | Aktionsname |
LogEventToFile_LogFileName_Beschreibung | Eingabeparameter des Texttyps | Aktionseingabebeschreibung |
LogEventToFile_LogFileName_FriendlyName | LogFileName | Aktionseingabename |
LogEventToFile_LogMessage_Beschreibung | Eingabeparameter des Texttyps | Aktionseingabebeschreibung |
LogEventToFile_LogMessage_FriendlyName | LogMessage | Aktionseingabename |
LogEventToFile_StatusCode_Beschreibung | Ausgabeparameter vom booleschen Typ | Aktionsausgabebeschreibung |
LogEventToFile_StatusCode_FriendlyName | LogMessage | Aktionsausgabename |
ModulesLogEvent_Beschreibung | 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.
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.
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
Importieren Sie das Zertifikat mit diesem Befehl in den Zertifikatspeicher.
##Import certificate Import-Certificate -CertStoreLocation $certStoreLocation -FilePath $certCERFile
Ü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.
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"
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
Signieren Sie die generierte CAB-Datei mit Signtool.
Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/PADCustomActionEventLog.cab"
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.
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
Erstellen Sie einen neuen Desktop-Flow und wählen Sie dann die Objektbibliothek im Designer aus.
Ü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.
Ü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.
Ziehen Sie die benutzerdefinierte Aktion oder doppelklicken Sie darauf, um sie dem Desktop-Flow hinzuzufügen.
Geben Sie die Eingabeparameter und zusätzlichen Schritte zum Testen der benutzerdefinierten Aktion an.
Beispiel für einen Desktop-Flow mit der benutzerdefinierten Aktion.
Testen Sie den Flow, um zu sehen, wie die benutzerdefinierte Aktion in Echtzeit funktioniert.
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.
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); } } } }
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.
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.
Testen Sie den Flow, um zu sehen, wie die aktualisierte benutzerdefinierte Aktion in Echtzeit funktioniert.
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.