วิธีการสร้างแอคชันแบบกำหนดเองใน Power Automate สำหรับเดสก์ท็อป
เพิ่มประสิทธิภาพการทำงาน ความสามารถในการใช้ซ้ำ และความสามารถในการขยายด้วยแอคชันแบบกำหนดเองใน Power Automate สำหรับเดสก์ท็อป บทความนี้อธิบายว่าแอคชันแบบกำหนดเองใน Power Automate สำหรับเดสก์ท็อปสามารถช่วยผู้สร้างสร้างการดำเนินการที่นำมาใช้ซ้ำได้ของตนเองซึ่งสามารถใช้กับโฟลว์ต่างๆ ได้ ผู้สร้างสร้างแอคชันแบบกำหนดเองโดยการเขียนลำดับขั้นตอนหรือฟังก์ชันให้เป็นแอคชันใหม่ แอคชันแบบกำหนดเองถูกสร้างขึ้นโดยใช้ SDK แอคชัน Power Automate สำหรับเดสก์ท็อป ซึ่งมีชุด API ที่ช่วยให้ผู้สร้างสามารถสร้างแอคชันแบบกำหนดเองโดยใช้ .NET ภาษา C# สามารถแชร์แอคชันแบบกำหนดเองกับผู้ใช้รายอื่นผ่านทางส่วนของแอคชันแบบกำหนดเองใน Power Automate ได้ (make.powerautomate.com) ในบทความนี้ คุณจะพบคำแนะนำโดยละเอียดเกี่ยวกับวิธีสร้างสรรค์ สร้าง ปรับใช้ ใช้ และอัปเดตแอคชันแบบกำหนดเอง
สำคัญ
แม้จะมีการรองรับคุณลักษณะที่สำคัญต่างๆ ที่ใช้ในการสร้างแอคชันแบบกำหนดเอง แต่โซลูชัน แอสเซท และสคริปต์ตัวอย่างที่มีการกล่าวถึงในที่นี้ทำหน้าที่เป็นตัวอย่างการปรับใช้งานคุณลักษณะเหล่านี้ และไม่รวมการสนับสนุน
ภาพรวม
ความสามารถของแอคชันแบบกำหนดเองใน Power Automate สำหรับเดสก์ท็อปนั้นจะช่วยให้คุณสร้างแอคชันที่นำมาใช้ซ้ำได้ของคุณเอง ซึ่งสามารถใช้กับโฟลว์เดสก์ท็อปหลายรายการได้ แอคชันแบบกำหนดเองจะช่วยประหยัดเวลาและความพยายามของคุณโดยอนุญาตให้คุณนำแอคชันที่ซับซ้อนหรือที่ใช้บ่อยมาใช้ซ้ำได้โดยไม่ต้องสร้างใหม่ทุกครั้งที่คุณสร้างโฟลว์ใหม่ ผู้สร้างสามารถใช้ทักษะและความรู้ที่มีอยู่เพื่อสร้างแอคชันแบบกำหนดเองที่รวมเข้ากับระบบและบริการอื่นๆ นอกจากนี้ นักพัฒนามืออาชีพยังสามารถรวมฟังก์ชันหรือไลบรารีโค้ดที่มีอยู่เพื่อสร้างแอคชันแบบกำหนดเองขึ้นมาใหม่ ซึ่งส่งผลให้แอสเซทขององค์กรสามารถนำกลับมาใช้ใหม่ได้มากขึ้น
คุณสร้างแอคชันแบบกำหนดเองโดยการเขียนลำดับวิธีการหรือฟังก์ชันให้เป็นแอคชันใหม่ เมื่อคุณสร้างแอคชันแบบกำหนดเองแล้ว ให้ใช้แอคชันนั้นในโฟลว์เดสก์ท็อปโดยการลากและวางลงบนพื้นที่ทำงานของตัวออกแบบ Power Automate สำหรับเดสก์ท็อป
สามารถแชร์แอคชันแบบกำหนดเองกับผู้ใช้รายอื่นผ่านทางส่วนของแอคชันแบบกำหนดเองได้ใน Power Automate ซึ่งจัดให้มีพื้นที่เก็บข้อมูลส่วนกลางสำหรับการแชร์และการค้นหาแอคชันแบบกำหนดเอง ซึ่งหมายความว่า ผู้ใช้จะได้ประโยชน์จากความเชี่ยวชาญและความรู้ของคนอื่นๆ ในองค์กร ทั้งยังสามารถค้นหาและใช้แอคชันแบบกำหนดเองที่ผู้สร้างรายอื่นๆ สร้างขึ้นมาได้อย่างง่ายดาย
โดยรวมแล้ว แอคชันแบบกำหนดเองใน Power Automate สำหรับเดสก์ท็อปเป็นวิธีที่มีประสิทธิภาพในการขยายฟังก์ชันการทำงานของผลิตภัณฑ์ ปรับปรุงกระบวนการสร้างโฟลว์ ส่งเสริมการทำงานร่วมกันและนวัตกรรมภายในองค์กร
ข้อกำหนดเบื้องต้น
- เวอร์ชันล่าสุดของ Power Automate สำหรับเดสก์ท็อป – ติดตั้ง Power Automate
- เครื่องมือการเขียน C# เช่น Visual Studio Community/Professional/Enterprise 2022 พร้อมเวิร์กโหลดการพัฒนาเดสก์ท็อป .NET
- SDK แอคชันแบบกำหนดเอง – NuGet Gallery | Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
- ใบรับรองดิจิทัล:
- สร้างใบรับรองที่ลงนามด้วยตนเอง – สร้างภาพรวมใบรับรองที่ลงนามด้วยตนเอง – .NET
- การปรับใช้ระดับองค์กร – ใบรับรองที่เชื่อถือได้ขององค์กรคุณจากผู้ออกใบรับรอง – ลายเซ็นดิจิทัลและใบรับรองดิจิทัล – Office Support
- SignTool:
- Windows PowerShell Script (.ps1) – สร้างแอคชันแบบกำหนดเอง – Power Automate
สร้างแอคชันแบบกำหนดเองของคุณเอง
เปิด Visual Studio เพื่อสร้างโครงการใหม่โดยใช้เทมเพลตของ Class Library (.NET Framework)
กำหนดค่าโครงการใหม่ของคุณด้วยชื่อโครงการ ตำแหน่งไฟล์ และตั้งค่า Framework เป็น .NET Framework 4.7.2
หมายเหตุ
ตรวจสอบให้แน่ใจว่าได้ปฏิบัติตามข้อตกลงในการตั้งชื่อ ข้อมูลเพิ่มเติม: ข้อตกลงในการตั้งชื่อโมดูลแบบกำหนดเอง
ใน Visual Studio ให้เลือก เครื่องมือ>NuGet Package Manager>คอนโซล Package Manager
เปิดหน้าต่าง PowerShell และติดตั้งแพ็คเกจ NuGet PowerAutomate.Desktop.Actions.SDK โดยใช้คำสั่ง PowerShell นี้
Find-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK NuGet\Install-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
ทำตามขั้นตอนใน สร้างแอคชันแบบกำหนดเอง เพื่อสร้างไฟล์ Class สำหรับแอคชันแบบกำหนดเองของคุณ
ข้อมูลที่คุณสามารถใช้เป็นข้อมูลอ้างอิงสำหรับแอคชันของคุณได้
ไฟล์เก็บถาวรโซลูชันอ้างอิง: .NET Module Solution
การดำเนินการ: เขียนข้อความลงในไฟล์ที่อยู่ในเครื่อง
พารามิเตอร์อินพุต: ชื่อไฟล์ ข้อความที่จะเขียนลงในไฟล์
พารามิเตอร์เอาต์พุต: โค้ดสถานะ – true หากสำเร็จและ false หากไม่สำเร็จ
คำนิยามของคลาส:
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);
}
}
}
}
แหล่งข้อมูล
ตารางนี้แสดงคำอธิบายและชื่อที่จำง่ายสำหรับพารามิเตอร์ในไฟล์ Resources.resx
ชื่อ | มูลค่า | Comment |
---|---|---|
LogEventToFile_Description | แอคชันแบบกำหนดเองเพื่อบันทึกข้อความลงใในไฟล์ที่ให้มา | คำอธิบายแอคชัน |
LogEventToFile_FriendlyName | LogEventToFile | ชื่อการดำเนินการ |
LogEventToFile_LogFileName_Description | พารามิเตอร์อินพุตของชนิดข้อความ | เพิ่มคำอธิบายแอคชัน |
LogEventToFile_LogFileName_FriendlyName | LogFileName | ชื่ออินพุตแอคชัน |
LogEventToFile_LogMessage_Description | พารามิเตอร์อินพุตของชนิดข้อความ | เพิ่มคำอธิบายแอคชัน |
LogEventToFile_LogMessage_FriendlyName | LogMessage | ชื่ออินพุตแอคชัน |
LogEventToFile_StatusCode_Description | พารามิเตอร์เอาต์พุตชนิดแบบบูลีน | เพิ่มคำอธิบายแอคชัน |
LogEventToFile_StatusCode_FriendlyName | LogMessage | ชื่อเอาต์พุตแอคชัน |
ModulesLogEvent_Description | มอดูลสำหรับจัดการเหตุการณ์ล็อก | คำอธิบายมอดูล |
ModulesLogEvent_FriendlyName | LogEvent | ชื่อโมดูล |
สร้างแพ็คเกจและปรับใช้แอคชันแบบกำหนดเองของคุณ
สร้างแพ็คเกจและปรับใช้กับ Power Automate
รับใบรับรองดิจิทัลเพื่อให้สามารถลงนามในไฟล์ DLL แอคชันแบบกำหนดเองได้
สำคัญ
ใบรับรองที่ลงนามด้วยตนเองมีไว้เพื่อการทดสอบเท่านั้น และไม่แนะนำให้ใช้ในการใช้งานจริง สำหรับการปรับใช้แอคชันแบบกำหนดเองระดับองค์กรในสภาพแวดล้อมของคุณ เราขอแนะนำให้คุณใช้ใบรับรองดิจิทัลที่เชื่อถือได้ซึ่งเป็นไปตามแนวทางองค์กรของคุณ
เคล็ดลับ
หากต้องการปรับปรุงกระบวนการพัฒนาและการใช้แอคชันแบบกำหนดเองใน Power Automate สำหรับเดสก์ท็อปทั่วทั้งองค์กรของคุณ คุณสามารถรวมใบรับรองดิจิทัลที่เชื่อถือได้เข้ากับโปรแกรมติดตั้ง Power Automate สำหรับเดสก์ท็อปที่เผยแพร่ผ่าน SCCM/Appstore > ซึ่งจะทำให้สามารถติดตั้งใบรับรองได้โดยอัตโนมัติทั้งในผู้สร้างและเครื่องรันไทม์แบบอัตโนมัติซึ่งต้องใช้ Power Automate สำหรับเดสก์ท็อป โดยไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติม
สำหรับตัวอย่างนี้ จะใช้ใบรับรองที่ลงนามด้วยตนเอง
สร้างใบรับรองที่ลงนามด้วยตนเองโดยใช้สคริปต์นี้
$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
นำเข้าใบรับรองไปยังพื้นที่เก็บใบรับรองโดยใช้คำสั่งนี้
##Import certificate Import-Certificate -CertStoreLocation $certStoreLocation -FilePath $certCERFile
ตรวจสอบว่าใบรับรองที่นำเข้าปรากฏภายใต้ Trusted Root Certification Authoritues>ใบรับรอง ในสแนปอิน Certificates Microsoft Manager Console (MMC) หรือไม่
จบมอดูลแบบกำหนดเองที่สร้างขึ้นจากการลงนามไฟล์ DLL โดยใช้ใบรับรองที่เชื่อถือได้ ใช้พรอมต์คำสั่งนักพัฒนาของ Visual Studio เพื่อใช้ SignTool สำหรับกิจกรรมนี้
Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/Modules.LogEvent.dll"
หากต้องการปรับใช้แอคชันแบบกำหนดเอง ให้สร้างแพ็คเกจเนื้อหาลงในไฟล์ cabinet (.cab) โดยใช้สคริปต์ PowerShell นี้
.\BuildCAB.ps1 "C:/PADActions/PADCustomActionEventLog" "C:/PADActions/PADCustomActionEventLog" PADCustomActionEventLog.cab
ลงนามไฟล์ cabinet ที่สร้างขึ้นโดยใช้ SignTool
Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/PADCustomActionEventLog.cab"
ไปที่ส่วนแอคชันแบบกำหนดเองของ Power Automate เพื่ออัปโหลดแอคชันแบบกำหนดเองที่คุณสร้างขึ้น ระบุชื่อ คำอธิบาย และไฟล์ cabinet จากนั้นเลือก อัปโหลด
คุณจะได้รับการแจ้งเตือนเมื่อมีการอัปโหลดแอคชันเสร็จสมบูรณ์
ทำตามขั้นตอนเหล่านี้ มอดูลแอคชันแบบกำหนดเองจะถูกบรรจุเข้าไปในไฟล์ cabinet และลงนามด้วยใบรับรองที่เชื่อถือได้ นอกจากนี้ ไฟล์ cabinet แอคชันแบบกำหนดเองจะถูกอัปโหลดไปยังไลบรารีแอคชันแบบกำหนดเองใน Power Automate
ข้อมูลเพิ่มเติม: อัปโหลดแอคชันแบบกำหนดเอง
ใช้กิจกรรมแอคชันแบบกำหนดเองของคุณในโฟลว์เดสก์ท็อปโดยใช้ Power Automate สำหรับเดสก์ท็อป
สร้างโฟลว์เดสก์ท็อป แลh;เลือก ไลบรารีแอสเซท ในตัวออกแบบ
ตรวจสอบแอคชันแบบกำหนดเองที่มีอยู่ในไลบรารีแอสเซท สังเกตแอคชันที่สร้างไว้ก่อนหน้านี้และอัปโหลดไปยังส่วนแอคชันแบบกำหนดเองของ Power Automate
เลือก เพิ่ม เพื่อเพิ่มแอคชันแบบกำหนดเองนี้ไปยังส่วน แอคชัน ของตัวออกแบบ
ตรวจสอบว่ามีการเพิ่มแอคชันแบบกำหนดเองสำเร็จแล้ว ค้นหาได้ที่แถบค้นหา แอคชัน ในตัวออกแบบของ Power Automate สำหรับเดสก์ท็อป
ลากแอคชันแบบกำหนดเองหรือดับเบิลคลิกเพื่อเพิ่มลงในโฟลว์เดสก์ท็อป
ระบุพารามิเตอร์อินพุตและขั้นตอนเพิ่มเติมต่างๆ เพื่อทดสอบแอคชันแบบกำหนดเอง
ตัวอย่างโฟลว์เดสก์ท็อปโดยใช้แอคชันแบบกำหนดเอง
ทดสอบโฟลว์เพื่อดูการทำงานแบบเรียลไทม์ของแอคชันแบบกำหนดเอง
หมายเหตุ
นำเข้าใบรับรองที่ใช้ในการลงนามไฟล์ cabinet ไปยังเครื่องที่ใช้สร้างโฟลว์เดสก์ท็อปที่มีแอคชันแบบกำหนดเอง และไปยังเครื่องรันไทม์แต่ละเครื่องที่จะเรียกใช้โฟลว์เดสก์ท็อป
เมื่อทำตามขั้นตอนเหล่านี้ แอคชันแบบกำหนดเองจะถูกสร้างขึ้น มอดูลที่บรรจุอยู่ในไฟล์ cabinet ที่ลงนามด้วยใบรับรองที่เชื่อถือได้ และอัปโหลดไปยังไลบรารีแอคชันแบบกำหนดเองใน Power Automate ซึ่งเป็นโฟลว์เดสก์ท็อปเพื่อใช้แอคชันแบบกำหนดเองที่สร้างขึ้นและทดสอบเพื่อให้การใช้งานสำเร็จ
อัปเดตและปรับใช้แอคชันแบบกำหนดเองอีกครั้ง
อัปเดตฟังก์ชันการทำงานของแอคชันแบบกำหนดเองเพื่อให้สะท้อนถึงความสามารถที่อัปเดตโดยทำตามขั้นตอนเหล่านี้
อัปเดตไฟล์คลาสในโซลูชัน Visual Studio พร้อมฟังก์ชันการทำงานใหม่ ข้อมูลเพิ่มเติม: โซลูชัน .NET Module ที่อัปเดตแล้ว
แก้ไขลายเซ็นของไฟล์คลาสเพื่อรับพารามิเตอร์อินพุตตัวที่สามดังที่แสดง
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); } } } }
ใช้ขั้นตอนที่คล้ายกันซึ่งได้มีการอธิบายไว้ก่อนหน้านี้ที่คุณลงนามในไฟล์ DLL จากนั้นสร้างไฟล์ cabinet แล้วลงนามในไฟล์ cabinet และอัปโหลดไฟล์ cabinet ไปยังส่วนแอคชันแบบกำหนดเองใน Power Automate ข้อมูลเพิ่มเติม: สร้างแพ็คเกจและปรับใช้แอคชันแบบกำหนดเองของคุณ
หมายเหตุ
ก่อนที่จะอัปโหลดไฟล์ cabinet แอคชันแบบกำหนดเองที่อัปเดตแล้ว อย่าลืมวิเคราะห์ผลกระทบของการเปลี่ยนแปลงนี้ เนื่องจากโฟลว์เดสก์ท็อปที่มีแอคชันนี้จะได้รับการอัปเดตด้วยความสามารถใหม่ๆ
อัปเดตโฟลว์เดสก์ท็อปตามต้องการ
เพื่อตรวจสอบความสามารถในการอัปเดต เราได้เพิ่มพารามิเตอร์อินพุตตัวที่สามให้กับแอคชันแบบกำหนดเอง โปรดสังเกตว่ากิจกรรมแอคชันแบบกำหนดเองถูกทำเครื่องหมายว่าเป็นข้อผิดพลาดในตัวออกแบบ และจำเป็นต้องได้รับการอัปเดตด้วยพารามิเตอร์อินพุตใหม่
ทดสอบโฟลว์เพื่อดูการทำงานแบบเรียลไทม์ของแอคชันแบบกำหนดเองที่อัปเดตแล้ว
ในส่วนนี้ คุณได้อัปเดตฟังก์ชันการทำงานพื้นฐานของแอคชันแบบกำหนดเอง สร้างแพ็คเกจ ปรับใช้กับ Power Automate ปรับโครงสร้างโฟลว์เดสก์ท็อปใหม่ และตรวจสอบฟังก์ชันการทำงานโดยการเรียกใช้โฟลว์เดสก์ท็อปที่มีความสามารถที่อัปเดตแล้วของแอคชันแบบกำหนดเองใน Power Automate สำหรับเดสก์ท็อป