我想弄清楚我在這裏做錯了什麼。非常新的PowerShell,所以要溫柔...嘗試在遠程系統上運行PSSession(從系統列表中讀取)。然後嘗試將丟失補丁的值返回到本地系統,然後導出到CSV。我正在尋找一個號碼被退回。該值在Invoke命令中顯示在Powershell窗口中,但在腳本底部顯示任何內容。任何人都可以提供一些建議,我可以將這個價值回傳給我的系統,然後能夠導出到csv?任何建議將不勝感激。Powershell - 無法將遠程會話變量傳遞迴本地系統
$array1 = Get-Content "C:\Users\******\Desktop\Server_List.txt"
$ReportResults = New-Object System.Collections.Generic.List[System.Object]
$Searchresult = @()
#parse thru each machine name in
foreach ($MachineName in $array1)
{
Write-host $MachineName
$session = New-PSSession -ComputerName $MachineName
Invoke-Command -Session $session {
Param($ReportResults)
#Get All Assigned updates in $SearchResult
$UpdateSession = New-Object -ComObject Microsoft.Update.Session
$UpdateSearcher = $UpdateSession.CreateUpdateSearcher()
$SearchResult = $UpdateSearcher.Search("IsAssigned=1 and IsHidden=0 and
IsInstalled=0")
Write-Host "total=$($SearchResult.updates.count)"
$ReportResults.add($SearchResult)
} -ArgumentList $ReportResults
Remove-PSSession $session
}
$ReportResults # | export-csv C:\Users\******\Desktop\Compprogs\Test.csv -
Notypeinformation
基本上問題是你什麼都沒有返回,所以沒有什麼可以返回的。你應該從會話中返回一些東西,而不是像你正在嘗試做的那樣將任何東西放入會話中 – 4c74356b41