この記事では、Microsoft Power Automate for desktop で PowerShell スクリプトの実行 アクションを実行するときに発生するエラーの解決策について説明します。
症状
Power Automate for Desktop でのデスクトップ フローの実行中に、 PowerShell スクリプトの実行 アクションを実行するとエラーが発生します。 この問題は、最近の Windows 更新プログラムの後にも発生する可能性があります。
エラー メッセージは次のように表示されます。
Microsoft.Flow.RPA.Desktop.Modules.SDK.ActionException: Failed to run PowerShell script. ---> System.ComponentModel.Win32Exception: The system cannot find the file specified
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at Microsoft.Flow.RPA.Desktop.Modules.System.Actions.SystemActions.RunPowershellScript(Variant powershellCode, Variant& scriptStandardOutput, Variant& scriptErrorOutput)
--- End of inner exception stack trace ---
at Microsoft.Flow.RPA.Desktop.Modules.System.Actions.RunPowershellScript.Execute(ActionContext context)
at Microsoft.Flow.RPA.Desktop.Robin.Engine.Execution.ActionRunner.Run(IActionStatement statement, Dictionary`2 inputArguments, Dictionary`2 outputArguments)
原因
PowerShell スクリプトの実行アクションは、powershell.exe
のインスタンスを内部的に開始し、アクションの入力で指定されたスクリプトをプロセスの引数として提供します。 システムで powershell.exe
が見つからない場合は、エラー メッセージが表示される可能性があります。
この問題の最も可能性の高い原因は、 Path 環境変数に、 powershell.exe
実行可能ファイルを含むディレクトリが含まれていないということです。 これが根本原因であることを確認するには、次の手順に従います。
- コマンド プロンプト (CMD) ウィンドウを開きます。
- コマンドを入力して Enter キーを押して、
powershell.exe
を実行します。
次のメッセージが発生した場合、問題は Path 環境変数にpowershell.exe
するパスがありません。
'powershell.exe' は、内部または外部のコマンド、操作可能なプログラムまたはバッチ ファイルとして認識されません。
解決策
この問題を解決するには、次の手順に従って Path 環境変数を更新し、 powershell.exe
実行可能ファイルのディレクトリを含めます。
[スタート] メニューを開き、[ 環境変数] を検索し、[ システム環境変数の編集] を選択します。
[ システムのプロパティ ] ウィンドウで、[環境変数] を選択 します。
[ システム変数 ] セクションで、 パス 変数を見つけて選択し、[編集] を選択 します。
powershell.exe
のディレクトリ パスをパスの一覧に追加します。ほとんどの場合、見つからないパスは C:\WINDOWS\System32\WindowsPowerShell\v1.0\ です。
正しいパスを確認するには、PowerShell ターミナルを開き、
$PsHome
コマンドを実行します。Path 変数に追加する値として、表示される パス を使用します。
[ OK] を 選択して変更を保存し、すべてのダイアログを閉じます。