我想弄清楚我在这里做错了什么。非常新的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