PowerShell启动流程

0 powershell start-process

ssomebody可以帮助在同一窗口中运行新进程吗?

$credential = Get-Credential

Start-Process powershell.exe -Credential $credential -NoNewWindow -ArgumentList ".\ListScript.ps1" -Wait

Write-Host "Press any key to continue ..."

$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
Run Code Online (Sandbox Code Playgroud)

-NoNewWindow不起作用,但没有-Credential $ credential它工作正常..我该如何解决这个问题?

小智 5

Windows凭据将在流程级别应用.您的第一个流程是在您的凭据下运行.

如果使用Start-Process而未指定其他凭据,则新进程可以在现有进程下运行.

如果将Start-Process与-Credential一起使用,则必须在流程中启动新流程才能使用这些新凭据.这就是使用-Credential参数时获得新窗口的原因.

长话短说,设计行为.这就是Windows处理进程和凭据的方式.它必须使用新凭据打开一个新进程/窗口.