Запуск асинхронного Powershell - PullRequest
0 голосов
/ 03 декабря 2009

У меня есть сценарий powershell, который выполняется из вызова c # (например, Process.Start (powershell.exe file.ps1);)

notepad.exe filename

однако, похоже, это блокирует завершение скрипта, так как событие завершения не вызывается до тех пор, пока не будет закрыто диалоговое окно блокнота.

Можно ли запустить notepad.exe, но сценарий завершится? Может быть, что-то вроде PowerShell я пропустил. Предпочтительно это будет что-то, что позволяет блокировать остальную часть файла file.ps1, в то время как только эта строка является асинхронной.

1 Ответ

1 голос
/ 03 декабря 2009

Если вы можете использовать PowerShell 2.0, то переходите на фоновые задания (PsJob).

PsJob запускает команду или выражение асинхронно и "в фоновом режиме" без взаимодействия с консолью. Командная строка возвращается немедленно и вы можете запросить результаты работы в удобное для вас время. Вы можете запустить фон задания на локальном или удаленном компьютере.

Также проверьте это:

Можно ли асинхронно вызывать командлеты powershell?

...