PowerShell Start-Process与其他用户凭据并等待

时间:2015-12-04 10:58:53

标签: powershell wait start-process

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

1 个答案:

答案 0 :(得分:1)

您可以使用apt-get参数然后ProcessStart-Process获取wait for it to exit个对象。

PassThru