Como criar ações personalizadas no Power Automate para computadores
Aumente a produtividade, a capacidade de reutilização e a extensibilidade com ações personalizadas no Power Automate para computadores. Este artigo aborda como as ações personalizadas no Power Automate para computadores podem ajudar os criadores a criar suas próprias ações reutilizáveis que podem ser usadas em vários fluxos. Os criadores criam ações personalizadas ao compor uma sequência de passos ou funções numa nova ação. As ações personalizadas são criadas ao utilizar SDK de ações do Power Automate para computadores, que fornece um conjunto de APIs que permitem aos criadores criar ações personalizadas através de linguagem C# de .NET. As ações personalizadas também podem ser partilhadas com outros utilizadores através da secção de ações personalizadas no Power Automate (make.powerautomate.com). Neste artigo, vai encontrar orientações detalhadas de como criar, compilar, implementar, usar e atualizar ações personalizadas.
Importante
Embora as caraterísticas essenciais utilizadas na criação de ações personalizadas sejam suportadas, as soluções, os recursos e os scripts de amostra fornecidos e mencionados aqui servem como um exemplo de implementação destas caraterísticas e não incluem suporte.
Descrição geral
A capacidade de ações personalizadas no Power Automate para computadores permite que crie as suas próprias ações reutilizáveis que podem ser usadas em vários fluxos de ambiente de trabalho. As ações personalizadas poupam-lhe tempo e esforço, permitindo reutilizar ações complexas ou usadas com frequência sem precisar as recriar sempre que cria um novo fluxo. Os criadores podem aplicar as suas competências e conhecimentos existentes para criar ações personalizadas que se integram com outros sistemas e serviços. Além disso, os programadores profissionais podem encapsular as funções ou bibliotecas de código existentes para criar uma nova ação personalizada que resulte em capacidade de reutilização aumentada dos recursos organizacionais.
Criações personalizadas ao compor uma sequência de métodos ou funções numa nova ação. Depois de criar uma ação personalizada, use-a em qualquer fluxo de ambiente de trabalho arrastando-a e soltando-a na tela do estruturador do Power Automate para computadores.
As ações personalizadas podem ser partilhadas com outros utilizadores através da secção de ações personalizadas no Power Automate, que fornece um repositório central para partilhar e descobrir ações personalizadas. Isto significa que os utilizadores podem beneficiar das competências e do conhecimento de outras pessoas na organização e podem facilmente encontrar e usar ações personalizadas criadas por outros criadores.
No geral, as ações personalizadas no Power Automate para computadores fornecem uma forma poderosa de expandir a funcionalidade do produto, simplificar o processo de criação de fluxos e fomentar a colaboração e a inovação na organização.
Pré-requisitos
- A versão mais recente do Power Automate para computadores — Instalar o Power Automate
- Ferramenta de criação de C#, como Visual Studio Community/Professional/Enterprise 2022 com a carga de trabalho de programação de ambiente de trabalho .NET
- SDK de ações personalizadas — Galeria da NuGet | Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
- Certificado digital:
- Gerar um certificado autoassinado — Descrição geral de Gerar Certificados Autoassinados — .NET
- Implementação empresarial — O certificado fidedigno da sua organização da autoridade de certificação — Assinaturas e certificados digitais — Suporte do Office
- SignTool:
- Script PowerShell do Windows (.ps1) — Criar ações personalizadas — Power Automate
Crie a sua própria ação personalizada
Abra o Visual Studio para criar um novo projeto utilizando o modelo da Biblioteca de Classes (.NET Framework).
Configure o seu novo projeto com um nome de projeto, localização de ficheiro e defina o Framework como .NET Framework 4.7.2.
Nota
Certifique-se de segue as convenções de nomenclatura. Mais informações: Convenções de nomenclatura de módulos personalizados
No Visual Studio, selecione Ferramentas>Gestor de pacote NuGet>Consola do Gestor de Pacotes.
Abra uma janela do PowerShell e instale o pacote NuGet PowerAutomate.Desktop.Actions.SDK através deste comando do PowerShell.
Find-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK NuGet\Install-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
Siga os passos em Criar ações personalizadas para criar o ficheiro de Classe para a sua ação personalizada.
Informações que pode usar como referência para a sua ação
Ficheiro da solução de referência: Solução do Módulo .NET
Ação: escreva uma mensagem para um ficheiro local.
Parâmetros de entrada: nome do ficheiro, mensagem a escrever no ficheiro.
Parâmetros de saída: código de estado — true se for bem-sucedido e false se não for bem-sucedido.
Definição de 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);
}
}
}
}
Recursos
Esta tabela lista as descrições e os nomes amigáveis para parâmetros num ficheiro Resources.resx.
Nome | Valor | Comentário |
---|---|---|
LogEventToFile_Description | Ação personalizada para registar mensagens no ficheiro fornecido | Descrição da ação |
LogEventToFile_FriendlyName | LogEventToFile | Nome da ação |
LogEventToFile_LogFileName_Description | Parâmetro de entrada de tipo de texto | Descrição de entrada de ação |
LogEventToFile_LogFileName_FriendlyName | LogFileName | Nome da entrada da ação |
LogEventToFile_LogMessage_Description | Parâmetro de entrada de tipo de texto | Descrição de entrada de ação |
LogEventToFile_LogMessage_FriendlyName | LogMessage | Nome da entrada da ação |
LogEventToFile_StatusCode_Description | Parâmetro de saída de tipo booleano | Descrição da saída da ação |
LogEventToFile_StatusCode_FriendlyName | LogMessage | Nome de saída da Ação |
ModulesLogEvent_Description | Módulo para gerir eventos de registo | Descrição do módulo |
ModulesLogEvent_FriendlyName | LogEvent | Nome do módulo |
Criar o pacote e implementar a sua ação personalizada
Crie o pacote e implemente no Power Automate.
Adquira o certificado digital para que o ficheiro DLL de ação personalizada possa ser assinado.
Importante
Os certificados autoassinados são apenas para fins de teste e não são recomendados para uso em produção. Para implementação organizacional de ações personalizadas no seu ambiente, recomendamos que use um certificado digital fidedigno que siga as suas diretrizes organizacionais.
Sugestão
Para simplificar o processo de programação e utilização de ações personalizadas para o Power Automate para computadores em toda a sua organização, pode agrupar um certificado digital fidedigno com o instalador do Power Automate para computadores que é distribuído através de SCCM/Appstore. > Isto permitirá que o certificado seja instalado automaticamente tanto nos computadores dos criadores e runtime automático que requeiram o Power Automate para computadores, sem qualquer necessidade de ações adicionais.
Neste exemplo, é usado um certificado autoassinado.
Crie um certificado autoassinado com este 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
Importe o certificado para o arquivo de certificados com este comando.
##Import certificate Import-Certificate -CertStoreLocation $certStoreLocation -FilePath $certCERFile
Valide se o certificado importado aparece em Autoridades de Certificação de Raiz Fidedigna>Certificados no snap-in da Consola do Microsoft Manager de Certificados (MMC).
Finalize o módulo personalizado criado ao assinar o ficheiro DLL com um certificado fidedigno. Use a linha de comandos do programador do Visual Studio para usar a SignTool para esta atividade.
Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/Modules.LogEvent.dll"
Para implementar a ação personalizada, crie o conteúdo do pacote num ficheiro CAB (.cab) através deste script do PowerShell.
.\BuildCAB.ps1 "C:/PADActions/PADCustomActionEventLog" "C:/PADActions/PADCustomActionEventLog" PADCustomActionEventLog.cab
Assine o ficheiro CAB gerado com a SignTool.
Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/PADCustomActionEventLog.cab"
Aceda à secção de ação personalizada do Power Automate para carregar a ação personalizada que criou. Forneça o nome, a descrição e o ficheiro CAB e, em seguida, selecione Carregar.
Recebe uma notificação quando a ação for carregada com sucesso.
Seguindo estes passos, o módulo de ação personalizado é empacotado num ficheiro CAB e assinado com um certificado fidedigno. Além disso, o ficheiro CAB de ações personalizadas é carregado para a biblioteca de ações personalizadas no Power Automate.
Mais informações: Carregar ações personalizadas
Use a sua atividade de ação personalizada no fluxo de ambiente de trabalho com o Power Automate para computadores
Crie um novo fluxo de ambiente de trabalho e, em seguida, selecione a Biblioteca de Recursos no estruturador.
Inspecione a ação personalizada disponível na biblioteca de recursos. Repare na ação criada anteriormente e carregada para a secção de ações personalizadas do Power Automate.
Selecione Adicionar para adicionar esta ação personalizada à secção Ações do estruturador.
Valide se a ação personalizada foi adicionada com sucesso. Pesquise por ela na barra de pesquisa Ações no estruturador do Power Automate para computadores.
Arraste a ação personalizada ou clique duas vezes nela para a adicionar ao fluxo de ambiente de trabalho.
Forneça os parâmetros de entrada e passos adicionais para testar a ação personalizada.
Fluxo de ambiente de trabalho de amostra a usar a ação personalizada.
Teste o fluxo para ver a ação personalizada a funcionar em tempo real.
Nota
Importe o certificado usado para assinar o ficheiro CAB para o computador usado para criar fluxos de ambiente de trabalho com ações personalizadas e para cada um dos computadores de runtime que executarão os fluxos de ambiente trabalho.
Ao seguir estes passos, foi criada uma ação personalizada, o módulo empacotado num ficheiro CAB, assinado com um certificado fidedigno, carregado na biblioteca de ações personalizadas no Power Automate, um fluxo de ambiente de trabalho para usar a ação personalizada criada e testada para uma execução bem-sucedida.
Atualizar e voltar a implementar a ação personalizada
Atualize a funcionalidade da ação personalizada para refletir a capacidade atualizada seguindo estes passos.
Atualize o ficheiro de classes na solução Visual Studio com a nova funcionalidade de ação. Mais informações: Solução do Módulo .NET atualizada
Modificada a assinatura do ficheiro de classes para receber um terceiro parâmetro de entrada, como mostrado.
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); } } } }
Use passos semelhantes descritos anteriormente, onde assina o ficheiro DLL, cria o ficheiro CAB, assina o ficheiro CAB e carrega o ficheiro CAB para a secção de ações personalizadas no Power Automate. Mais informações: Criar o pacote e implementar a sua ação personalizada
Nota
Antes de carregar o ficheiro CAB de ação personalizada atualizado, certifique-se de que analisa o impacto desta alteração, pois os fluxos de ambiente de trabalho com esta ação serão atualizados com novas capacidades.
Atualize o fluxo de ambiente de trabalho conforme necessário.
Para validar a capacidade de atualização, adicionámos um terceiro parâmetro de entrada à ação personalizada. Note que a atividade de ação personalizada está marcada como Erro no estruturador e precisa de ser atualizada com o novo parâmetro de entrada.
Teste o fluxo para ver a ação personalizada atualizada a funcionar em tempo real.
Nesta secção, atualizou a funcionalidade subjacente da ação personalizada, criou o pacote, implementou no Power Automate, refatorizou o fluxo de ambiente de trabalho e validou a funcionalidade ao executar o fluxo de ambiente de trabalho com capacidades atualizadas da ação personalizada no Power Automate para computadores.