私は、invoke-expression を使用して別の powershell スクリプトを呼び出すバッチ ファイルを呼び出すボタンを持つ powershell Windows フォームを持っています。スクリプトは正常に実行されますが、powershell コマンド ウィンドウに 2 番目のスクリプトからの出力が表示されません。
クリックすると 2 番目の PowerShell スクリプトを呼び出すボタン:
$run = New-Object System.Windows.Forms.Button
$run.Location = New-Object System.Drawing.Size(133,430)
$run.Size = New-Object System.Drawing.Size(75,23)
$run.Text = "Run"
$run.Add_Click({ Invoke-Expression \\$pc\c$\users\$user\desktop\a\test.bat;
})
[System.Windows.Forms.MessageBox]::Show("Changes Saved. Now click RUN.") })
2 番目の PowerShell スクリプトを呼び出すために使用されるバッチ ファイル: c:\Windows\System32\WindowsPowerShell\v1.0\powershell -ExecutionPolicy RemoteSigned - File "C:\Users\kam\Desktop\a\Powershell.ps1"
2 番目のスクリプト自体は、ファイルをリモート ホストにコピーし、write-host コマンドを使用して出力を表示するだけです。このスクリプトを単独で実行すると出力が表示されますが、invoke 式を使用して実行すると空白の powershell コマンド ウィンドウが表示されます。
任意の助けをいただければ幸いです。