我正在使用具有提升权限的其他用户启动 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解决方案,那么对我的用例来说是最好的。