Skip to main content

Notifications

[Power Automate UI flows]Executing any command or script via a script

kinuasa Profile Picture Posted by kinuasa 775

*This post is written in Japanese. Please translate and read it.

 

[ Create and test desktop UI flows ]にある通り、現時点ではUI flowsは対話形式による操作をサポートしていません。

そこで、簡単なスクリプトを介して、任意のコマンドやスクリプトを実行する方法を紹介します。

 

・準備

 

コマンドを実行するためのスクリプトを準備します。
下記コードをテキストエディタに貼り付け、vbsファイルとして適当なフォルダ(e.g. C:\Scripts\exec.vbs)に保存してください。

 

 

 

Option Explicit
 
Dim ret
 
ret = InputBox("Enter a command path.", "Exec Any Commands")
If IsEmpty(ret) = True Then WScript.Quit
If Len(Trim(ret)) < 1 Then WScript.Quit
On Error Resume Next
With CreateObject("Scripting.FileSystemObject")
 Select Case LCase(.GetExtensionName(ret))
 Case "vbs"
 CreateObject("WScript.Shell").Run """" & ret & """", 1, False
 Case Else
 With CreateObject("WbemScripting.SWbemLocator").ConnectServer.Get("Win32_Process")
 .Create ret, Null, Null, Null
 End With
 End Select
End With
On Error GoTo 0

 

 

 

・UI flowsの作成

 

UI flowsを新規作成します。

 

01.jpg

02.jpg

03.jpg

 

スクリプト(exec.vbs)を実行した状態でレコーダーを起動し、操作を記録します。

 

04.jpg

 

InputBoxに実行したいコマンド(e.g. cmd /k ping www.microsoft.com)を入力し、[ Enter ]キーを押します。

 

05.jpg

 

コマンドの実行を確認し、記録を終了します。

 

06.jpg

 

記録されたフローは下図のようになります。

 

07.jpg

 

起動部分のアプリケーションパスが[ C:\WINDOWS\System32\WScript.exe ]となっているので、スクリプトのパスに修正します。

 

08.jpg

 

SendKeysの値としてEnterキーが記録されていないので、[ <Keys.Return> ]を追加します。

 

09.jpg

 

フロー保存後テストを実行すると、スクリプト経由でコマンドが呼び出されていることが確認できます。

 

10.gif

 

・UI flowsを呼び出すフローの作成

 

UI flowsを呼び出すフローを新規作成します。

 

11.jpg12.jpg13.jpg

 

保存してテスト実行すると、UI flowsが呼び出され、コマンドが実行されます。

 

14.gif

 

簡単なスクリプトを介することで、UI flowsから任意のコマンドやスクリプトを実行することができます。

標準でWindowsとの対話がサポートされれば、この方法は不要になります。
そのため、この方法はあまり推奨されるものではないでしょう。

Categories:

Desktop flows

Comments