質問: "PowerShell -Command ""Set-ExecutionPolicy Bypass""" wsh.Run strCmd,1,True Call wsh.run ("cmd /c powershell -file ~ps1ファイルまでのフルパス~" , 0, True)
回答: こんにちは。 まず、大前提としてPowerShellに限らずご質問の様な方法はセキュリティ上問題になることが多く、全くお勧めできません。 可能であればやり方を変えることをお勧めします。 その上でご質問の内容について部分的に回答します。 (お勧めできないため全部回答する気はありませんのでご了承ください) > > aspからpowershellファイルの呼び出しはできないのでしょうか? > > > についてですが、"呼び出す"こと自体は可能です。 IISからCGIでない外部のプロセスを呼び出すこと自体はVBScript、PowerShellどちらでも可能です。 ただし、期待した動作をさせるには、環境にも依りますが * プロセス実行のためにセキュリティの設定を弱める * プロセス実行ユーザーの権限を上げる といった設定変更が必要になることがほとんどです。 この点についてはこれ以上言及しません。 で、現状VBScriptの起動に成功してPowerShellの起動に失敗している状況に関して ``` strCmd = "PowerShell -Command ""Set-ExecutionPolicy Bypass""" wsh.Run strCmd,1,True Call wsh.run ("cmd /c powershell -file ~ps1ファイルまでのフルパス~" , 0, True) ``` の様に記述されていますが、 これを ``` Call wsh.run ("C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -File ~ps1ファイルまでのフルパス~" , 0, True) ``` の様に`powershell.exe`をフルパス指定すれば起動すること自体はできると思います。 なお、先述のとおりこれで期待した動作になるかは保証できませんし、これ以上の回答は控えさえて頂きます。