Come creare azioni personalizzate in Power Automate per desktop
Migliora la produttività, la riusabilità e l'estensibilità con azioni personalizzate in Power Automate per desktop. Questo articolo illustra come le azioni personalizzate in Power Automate per desktop possono aiutare gli autori a creare le proprie azioni riutilizzabili che possono essere utilizzate in più flussi. Gli autori creano azioni personalizzate componendo una sequenza di passaggi o funzioni in una nuova azione. Le azioni personalizzate vengono create utilizzando le azioni SDK di Power Automate per desktop, che fornisce un set di API che consentono agli autori di creare azioni personalizzate utilizzando il linguaggio .NET C#. Le azioni personalizzate possono anche essere condivise con altri utenti tramite la sezione delle azioni personalizzate in Power Automate (make.powerautomate.com). In questo articolo troverai procedure dettagliate su come creare, compilare, distribuire, utilizzare e aggiornare le azioni personalizzate.
Importante
Sebbene le funzionalità essenziali utilizzate nella creazione di azioni personalizzate siano supportate, le soluzioni, le risorse e gli script di esempio menzionati qui servono come esempio di implementazione di queste funzionalità e non includono il supporto.
Descrizione
La funzionalità di azioni personalizzate in Power Automate per desktop ti consente di creare azioni riutilizzabili che possono essere utilizzate su più flussi desktop. Le azioni personalizzate ti fanno risparmiare tempo e fatica consentendoti di riutilizzare azioni complesse o utilizzate di frequente senza doverle ricreare ogni volta che crei un nuovo flusso. Gli autori possono applicare le proprie competenze e conoscenze per creare azioni personalizzate che si integrano con altri sistemi e servizi. Inoltre, gli sviluppatori professionisti possono eseguire il wrapping delle funzioni esistenti o delle librerie di codici per creare una nuova azione personalizzata che si traduca in una maggiore riusabilità delle risorse organizzative.
Crei azioni personalizzate componendo una sequenza di metodi o funzioni in una nuova azione. Una volta creata un'azione personalizzata, utilizzala in qualsiasi flusso desktop trascinandola sul canvas di progettazione Power Automate desktop.
Le azioni personalizzate possono essere condivise con altri utenti tramite la sezione delle azioni personalizzate in Power Automate, che fornisce un repository centrale per la condivisione e l'individuazione di azioni personalizzate. Ciò significa che gli utenti possono trarre vantaggio dall'esperienza e dalla conoscenza di altri membri dell'organizzazione e possono facilmente trovare e utilizzare azioni personalizzate create da altri autori.
Nel complesso, le azioni personalizzate in Power Automate per desktop forniscono un modo efficace per estendere le funzionalità del prodotto, semplificare il processo di creazione del flusso e promuovere la collaborazione e l'innovazione all'interno dell'organizzazione.
Prerequisiti
- Ultima versione di Power Automate per desktop – Installa Power Automate
- Strumento di creazione C# come Visual Studio Community/Professional/Enterprise 2022 con il carico di lavoro di sviluppo desktop .NET
- SDK per azioni personalizzate – NuGet Gallery | Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
- Certificato digitale:
- Genera un certificato autofirmato – Panoramica sulla generazione di certificati autofirmati – .NET
- Distribuzione aziendale: certificato attendibile dell'organizzazione rilasciato dall'autorità di certificazione – Firme e certificati digitali – Supporto di Office
- SignTool:
- Script di Windows PowerShell (.ps1) – Crea azioni personalizzate – Power Automate
Crea azione personalizzata
Apri Visual Studio per creare un nuovo progetto utilizzando il modello di Libreria di classi (.NET Framework).
Configura il tuo nuovo progetto con un nome progetto, un percorso file e imposta il Framework come .NET Framework 4.7.2.
Nota
Assicurati di seguire le convenzioni di denominazione. Ulteriori informazioni: Convenzioni personalizzate sui nomi dei moduli
In Visual Studio, seleziona Strumenti>Gestione pacchetto NuGet>Console di gestione pacchetto.
Apri una finestra di PowerShell e installa il pacchetto NuGet PowerAutomate.Desktop.Actions.SDK utilizzando questo comando di PowerShell.
Find-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK NuGet\Install-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
Segui i passaggi in Crea azioni personalizzate per creare il file di classe per la tua azione personalizzata.
Informazioni che puoi utilizzare come riferimento per la tua azione
Archivio delle soluzioni di riferimento: Soluzione modulo .NET
Azione: scrivi un messaggio in un file locale.
Parametri di input: nome del file, messaggio da scrivere nel file.
Parametri di output: codice di stato: vero se riuscito e falso se non riuscito.
Definizione classe:
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);
}
}
}
}
risorse
Questa tabella elenca le descrizioni e i nomi descrittivi dei parametri in un file Resources.resx.
Nome | valore | Commento |
---|---|---|
LogEventToFile_Description | Azione personalizzata per registrare il messaggio nel file fornito | Descrizione azione |
LogEventToFile_FriendlyName | LogEventToFile | Nome azione |
LogEventToFile_LogFileName_Description | Parametro di input del tipo di testo | Descrizione input di azione |
LogEventToFile_LogFileName_FriendlyName | LogFileName | Nome input di azione |
LogEventToFile_LogMessage_Description | Parametro di input del tipo di testo | Descrizione input di azione |
LogEventToFile_LogMessage_FriendlyName | LogMessage | Nome input di azione |
LogEventToFile_StatusCode_Description | Parametro di output di tipo booleano | Descrizione output di azione |
LogEventToFile_StatusCode_FriendlyName | LogMessage | Azione outputName |
ModulesLogEvent_Description | Modulo per gestire gli eventi del log | Descrizione modulo |
ModulesLogEvent_FriendlyName | LogEvent | Nome modulo |
Crea il pacchetto e distribuisci la tua azione personalizzata
Crea il pacchetto e distribuiscilo in Power Automate.
Acquisisci il certificato digitale in modo che il file DLL dell'azione personalizzata possa essere firmato.
Importante
I certificati autofirmati sono solo a scopo di test e non sono consigliati per l'uso in produzione. Per la distribuzione organizzativa di azioni personalizzate nel tuo ambiente, ti consigliamo di utilizzare un certificato digitale attendibile che segua le linee guida della tua organizzazione.
Suggerimento
Per semplificare il processo di sviluppo e utilizzo di azioni personalizzate per Power Automate per desktop nell'intera organizzazione, puoi raggruppare un certificato digitale affidabile con il programma di installazione Power Automate per desktop distribuito tramite SCCM/Appstore. > Ciò consentirà l'installazione automatica del certificato sia sugli autori che sui computer runtime non presidiati che richiedono Power Automate per desktop, senza necessità di azioni aggiuntive.
Per questo esempio viene utilizzato un certificato autofirmato.
Crea un certificato autofirmato utilizzando questo 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
Importa il certificato nell'archivio certificati utilizzando questo comando.
##Import certificate Import-Certificate -CertStoreLocation $certStoreLocation -FilePath $certCERFile
Verifica che il certificato importato venga visualizzato in Autorità di certificazione radice disponibile nell'elenco locale>Certificati nello snap-in Certificati Microsoft Manager Console (MMC).
Finalizza il modulo personalizzato creato firmando il file DLL utilizzando un certificato attendibile. Utilizza il prompt dei comandi per sviluppatori di Visual Studio per utilizzare Signtool per questa attività.
Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/Modules.LogEvent.dll"
Per distribuire l'azione personalizzata, crea il contenuto del pacchetto in un file CAB (.cab) utilizzando questo script di PowerShell.
.\BuildCAB.ps1 "C:/PADActions/PADCustomActionEventLog" "C:/PADActions/PADCustomActionEventLog" PADCustomActionEventLog.cab
Firma il file CAB generato utilizzando Signtool.
Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/PADCustomActionEventLog.cab"
Vai alla sezione azione personalizzata Power Automate per caricare l'azione personalizzata che hai creato. Immetti il nome, la descrizione e il file CAB, quindi seleziona Carica.
Riceverai una notifica quando l'azione viene caricata.
Seguendo questi passaggi, il modulo di azione personalizzato viene inserito in un file CAB e firmato con un certificato attendibile. Inoltre, il file CAB delle azioni personalizzate viene caricato nella libreria delle azioni personalizzate in Power Automate.
Ulteriori informazioni: Caricare azioni personalizzate
Utilizza la tua attività di azione personalizzata nel flusso desktop utilizzando Power Automate per desktop
Crea un nuovo flusso desktop, quindi seleziona la Raccolta risorse nella finestra di progettazione.
Esamina l'azione personalizzata disponibile nella raccolta risorse. Nota l'azione precedentemente creata e caricata nella sezione delle azioni personalizzate di Power Automate.
Seleziona Aggiungi per aggiungere questa azione personalizzata alla sezione Azioni della finestra di progettazione.
Verifica che l'azione personalizzata sia stata aggiunta correttamente. Cercala nella barra di ricerca Azioni nella finestra di progettazione di Power Automate per desktop.
Trascina l'azione personalizzata o fai doppio clic su di essa per aggiungerla al flusso desktop.
Fornisci i parametri di input e i passaggi aggiuntivi per testare l'azione personalizzata.
Esempio di flusso desktop con l'utilizzo dell'azione personalizzata.
Testa il flusso per vedere il funzionamento dell'azione personalizzata in tempo reale.
Nota
Importa il certificato utilizzato per firmare il file CAB nella macchina utilizzata per creare flussi desktop con azioni personalizzate e in ciascuna delle macchine runtime che eseguiranno i flussi desktop.
Seguendo questi passaggi, è stata creata un'azione personalizzata, il modulo è stato salvato in un file CAB, firmato con un certificato attendibile, caricato nella libreria delle azioni personalizzate in Power Automate, un flusso desktop per utilizzare l'azione personalizzata creata e testata per un'esecuzione corretta.
Aggiorna e ridistribuisci l'azione personalizzata
Aggiorna la funzionalità dell'azione personalizzata per riflettere la funzionalità aggiornata seguendo questi passaggi.
Aggiorna il file della classe nella soluzione Visual Studio con nuove funzionalità di azione. Maggiori informazioni: Soluzione modulo . NET aggiornata
Modificata la firma del file di classe per accogliere un terzo parametro di input come mostrato.
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); } } } }
Utilizza passaggi simili descritti in precedenza in cui firmi il file DLL, crea il file CAB, firma il file CAB e carica il file CAB nella sezione delle azioni personalizzate in Power Automate. Ulteriori informazioni: Creare il pacchetto e distribuire l'azione personalizzata
Nota
Prima di caricare il file CAB aggiornato delle azioni personalizzate, assicurati di analizzare l'impatto di questa modifica poiché i flussi desktop con questa azione verranno aggiornati con nuove funzionalità.
Aggiorna il flusso desktop come richiesto.
Per convalidare la capacità di aggiornamento, abbiamo aggiunto un terzo parametro di input all'azione personalizzata. Tieni presente che l'attività dell'azione personalizzata è contrassegnata come Errore nella finestra di progettazione e deve essere aggiornata con un nuovo parametro di input.
Testa il flusso per vedere l'azione personalizzata aggiornata in tempo reale.
In questa sezione hai aggiornato la funzionalità sottostante dell'azione personalizzata, creato il pacchetto, distribuito in Power Automate, effettuato il refactoring del flusso desktop e convalidato la funzionalità eseguendo il flusso desktop con le funzionalità aggiornate dell'azione personalizzata in Power Automate per desktop.