Condividi tramite


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

Crea azione personalizzata

  1. Apri Visual Studio per creare un nuovo progetto utilizzando il modello di Libreria di classi (.NET Framework). Screenshot della finestra di dialogo Crea progetto C#.

  2. 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

    Screenshot dei dettagli della creazione della libreria di classi C#.

  3. In Visual Studio, seleziona Strumenti>Gestione pacchetto NuGet>Console di gestione pacchetto.

    Screenshot di Gestione pacchetti .NET.

  4. 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
    
  5. 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.

  1. 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.

    1. 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
      
    2. Importa il certificato nell'archivio certificati utilizzando questo comando.

      ##Import certificate
      Import-Certificate -CertStoreLocation $certStoreLocation -FilePath $certCERFile
      
    3. 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).

  2. 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"
    
  3. 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
    

    Vai al file di script di esempio BuildCAB.ps1

  4. Firma il file CAB generato utilizzando Signtool.

    Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/PADCustomActionEventLog.cab"
    
  5. 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.

    Screenshot dell'importazione del pacchetto di azioni personalizzate (file CAB) nel portale Power Automate

    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

  1. Crea un nuovo flusso desktop, quindi seleziona la Raccolta risorse nella finestra di progettazione.

    Screenshot di Passa alla Raccolta risorse in Power Automate per desktop

  2. 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.

    Screenshot di Aggiungi azione personalizzata dalla Raccolta risorse

  3. Verifica che l'azione personalizzata sia stata aggiunta correttamente. Cercala nella barra di ricerca Azioni nella finestra di progettazione di Power Automate per desktop.

    Screenshot di Cerca azione personalizzata in Power Automate per desktop

  4. Trascina l'azione personalizzata o fai doppio clic su di essa per aggiungerla al flusso desktop.

  5. Fornisci i parametri di input e i passaggi aggiuntivi per testare l'azione personalizzata.

    Screenshot dei parametri di input per l'azione personalizzata

    Esempio di flusso desktop con l'utilizzo dell'azione personalizzata.

    Screenshot dell'utilizzo dell'azione personalizzata nel flusso desktop

  6. Testa il flusso per vedere il funzionamento dell'azione personalizzata in tempo reale.

    Prova l'azione personalizzata nel flusso desktop

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.

  1. 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);
             }
         }
      }
    }
    
  2. 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à.

    Screenshot dell'aggiornamento dell'azione personalizzata nel portale Power Automate

  3. 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.

    Screenshot del refactoring del flusso desktop

    Screenshot dell'azione personalizzata aggiornata con parametri di input aggiuntivi

  4. Testa il flusso per vedere l'azione personalizzata aggiornata in tempo reale.

    Testa nuovamente l'azione personalizzata aggiornata nel flusso desktop

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.