我正在使用具有提升权限的另一个用户使用PowerShell启动一个进程。
$username = "username"
$password = "password"
$startWithElevatedRights = "notepad"
$credentials = New-Object System.Management.Automation.PSCredential -ArgumentList @($username,(ConvertTo-SecureString -String $password -AsPlainText -Force))
Start-Process powershell -Credential $credentials -ArgumentList '-noprofile -command &{Start-Process ‘, $startWithElevatedRights, ‘ -Wait -verb runas}'
我知道将用户凭据写入代码是一种不好的风格,但它在全自动过程中使用,所以这是必要的。我的问题是,我不能等到进程(最后一行代码)完成。内部进程按预期等待。
我尝试了参数-Wait,* | 等待进程,* | Out-Null,返回值(始终为 null) 没有任何效果。
是否有任何解决方案等到进程退出?如果 PowerShell 2.0 有任何解决方案,那将是我用例的最佳选择。