PowerShell, отображающий результат вызова-выражения

У меня есть форма Windows PowerShell, в которой есть кнопка, которая использует выражение invoke для вызова командного файла, который затем вызывает другой скрипт PowerShell. сценарий работает нормально, но я не вижу вывода второго сценария в командном окне PowerShell.

Кнопка, при нажатии которой вызывается второй сценарий 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.") })

Пакетный файл, используемый для вызова второго сценария PowerShell: c: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell -ExecutionPolicy RemoteSigned - Файл "C: \ Users \ kam \ Desktop \ a \ Powershell.ps1"

Сам второй сценарий просто копирует файлы на удаленный хост и отображает вывод с помощью команды write-host. Если я запускаю этот скрипт сам по себе, он показывает результат, но когда я запускаю его с использованием выражения вызова, он показывает пустое командное окно PowerShell.

любая помощь будет оценена. Изображение того, что отображаетсяj при запуске второго скрипта


person Kam0106    schedule 25.11.2012    source источник


Ответы (1)


Исправлено, это произошло из-за того, что я вызвал файл bat для вызова powershell, я просто вызвал сценарий 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\powershell.ps1;

 })
 [System.Windows.Forms.MessageBox]::Show("Changes Saved. Now click RUN.") })
person Kam0106    schedule 25.11.2012