Question
Windows - レガシ プロジェクトにて『Invoke PowerShell』を実行するとエラー「操作可能なプログラムの名前として認識されません」が発生します。解決策を教えて下さい。
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 を指定して直接起動、実行する事をお試しください。