У меня есть сценарий, выполняющийся в C # с использованием кода асинхронного выполнения powershell в проекте кода:
http://www.codeproject.com/KB/threads/AsyncPowerShell.aspx?display=PrintAll&fid=407636&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=2130851#xx2130851xx
Мне нужно вернуть код $ lastexitcode, и Жан-Поль описывает, как вы можете использовать собственный класс pshost для его возврата. Я не могу найти ни одного метода или свойства в pshost, который возвращает код выхода.
Этот движок мне нужен, чтобы убедиться, что скрипт выполняется правильно.
Любая помощь будет оценена.
С уважением
Боб.
Это $ lastexitcode и $? переменные мне нужно вернуть.
Привет,
Наконец-то ответил.
Я узнал о переменной $ host. Он реализует обратный вызов в хосте, в частности, собственный объект PSHost, позволяющий вам возвратить код $ lastexitcode. Вот ссылка на объяснение $ host.
http://mshforfun.blogspot.com/2006/08/do-you-know-there-is-host-variable.html
Это кажется неясным, плохо документированным, как обычно, с документами PowerShell. Используя точку 4, вызов $ host.SetShouldExit (1) возвращает 1 в метод SetShouldExit в pshost, как описано здесь.
http://msdn.microsoft.com/en-us/library/system.management.automation.host.pshost.setshouldexit(VS.85).aspx
Это действительно зависит от определения вашего собственного определения кода выхода. 0 и 1 суффиксы, я думаю.
С уважением
Боб.