1
我想在遠程PowerShell會話中使用腳本塊。此命令正在工作,我得到關於機器狀態的輸出:Invoke-Command腳本塊沒有生成輸出
$SecurePassword = $ParamPassword | ConvertTo-SecureString -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential `
-ArgumentList $UserName, $SecurePassword
$ParamDomain = 'mydomain'
$ParamHostname = "myhostname"
$fullhost = "$ParamDomain"+"\"+"$ParamHostname"
#Get-BrokerMachine No1
if ($ParamCommand -eq 'Get-BrokerMachine'){
$s = New-PSSession -computerName $desktopbroker -credential $cred
Invoke-Command -Session $s -ScriptBlock { param($fullhost) ;asnp citrix.* ; Get-BrokerMachine -machinename $fullhost } -Args $fullhost
}
我的第二次迭代也使用scriptblock失敗。沒有執行命令Get-BrokerMachine
並且沒有輸出。
#Get-BrokerMachine No2
if ($ParamCommand -eq 'Get-BrokerMachine'){
$ScriptBlock = {
asnp citrix.* ; Get-BrokerMachine -machinename $fullhost
};
$s = New-PSSession -computerName $desktopbroker -credential $cred
Invoke-Command -Session $s -ScriptBlock $ScriptBlock
}
有人可以解釋第二個腳本有什麼問題嗎?
'$ fullhost'很可能是$ null,因爲它沒有傳遞給命令。你需要通過'$ fullhost'作爲參數,我敢打賭。你在第一個例子中這樣做。不是你的第二個 – Matt 2015-03-31 14:15:47