Windows - レガシ プロジェクトにて 『Invoke PowerShell』 を実行するとエラー「操作可能なプログラムの名前として認識されません」が発生する

:grey_question: Question

Windows - レガシ プロジェクトにて『Invoke PowerShell』を実行するとエラー「操作可能なプログラムの名前として認識されません」が発生します。解決策を教えて下さい。

:bulb: Answer

原因

Windows - Legacy プロジェクトから 『Invoke PowerShell』 を実行すると、x86 (32-bit)版のPowerShellが起動されます。
その為、32-bit 版のPowerShell で64-bit 版のアプリケーションモジュールを起動すると当該エラーが発生します。

解決策

回避策 1

Windows レガシープロジェクトをWindows プロジェクトに変換し、「実行モード」 にて64-bit を選択し実行をお試しください。

プロジェクトを Windows に移行することにより、『Invoke PowerShell』の 実行モード(プロパティ > Misc > 実行モード) にて64-bitが選択可能となります。(32-bit 以外を選択し実行をお試しください)

参考 :
Windows - レガシ プロジェクトを Windows 対応のプロジェクトに変換する

回避策 2

Windows - レガシ プロジェクトにて『Invoke PowerShell』を使用する場合、PowerShell が32-bitで起動するため、『Invoke PowerShell』の中で動作する32-bitのアプリケーション、モジュールの利用をご検討ください。

回避策 3

『キーボード ショートカット』アクティビティ(Win+R(ファイル名を指定して実行))や『クリック』アクティビティを用いて cmd.exe / powershell.exe / sftp.exe を指定して直接起動、実行する事をお試しください。