2012-12-12 38 views
0

我有一個調用Get-Credential的powershell腳本。輸入的憑證將在稍後用於腳本和子腳本中的多個服務器中使用。Powershell - 將PSCredential對象傳遞到新的命令窗口

代碼看起來是這樣的:內subscript.ps1

$credentials = get-credential 
CMD /c start powershell.exe -noexit -File subscript.ps1 $credentials 

的問題是我有這樣的代碼只是爲了看看什麼未來:

$args.length 
$args[0] 

這給了我係統。 Management.Automation.PSCredential

正如您所看到的,它不會傳遞Get-Credential調用返回的實際對象。

我的猜測是這樣,因爲我們正在通過新的命令窗口調用腳本。我們需要打開一個新的命令窗口,因爲我們需要打開4個不同的subscript.ps1(具有不同的並行處理參數)。

任何想法?

感謝, 安德魯

回答

0

如果你正在使用PowerShell的V3,請使用以下格式啓動異步後臺任務

$job = Start-Job -ScriptBlock {param($cred) . C:\test.ps1 $cred} -ArgumentList $cred 
wait-job $job 
receive-job $job 
0

由於看來你已經在PowerShell中開始你的過程中使用的Start-Process cmdlet接受-Credential

相關問題