Powershell-无法将远程会话变量传递回本地系统

Powershell-无法将远程会话变量传递回本地系统,powershell,csv,Powershell,Csv,我正在努力找出我做错了什么。非常新的powershell,所以要温柔。。。尝试在远程系统上运行PSSession(从系统列表中读入)。然后尝试将缺少的修补程序的值返回到本地系统,然后导出到CSV。我只是在寻找一个号码可以返回。当在Invoke命令内时,该值将显示在Powershell窗口中,但在脚本底部什么也不显示。有人能给我一些建议吗?我如何将该值传递回我的系统,然后才能导出到csv?如有任何建议,将不胜感激 $array1 = Get-Content "C:\Users\******\Des

我正在努力找出我做错了什么。非常新的powershell,所以要温柔。。。尝试在远程系统上运行PSSession(从系统列表中读入)。然后尝试将缺少的修补程序的值返回到本地系统,然后导出到CSV。我只是在寻找一个号码可以返回。当在Invoke命令内时,该值将显示在Powershell窗口中,但在脚本底部什么也不显示。有人能给我一些建议吗?我如何将该值传递回我的系统,然后才能导出到csv?如有任何建议,将不胜感激

$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
您必须将参数“标记”为
ref
。有关更多信息,请参见此

或者,您可以通过
写入输出
返回所需的值。例如:

 $returnValue = Invoke-Command -ScriptBlock {

     Write-Output "Hello World"
 }

 # $returnValue should include "Hello World"
 Write-Host $returnValue
请注意,在
调用命令中多次使用
写入输出
时,
$returnValue
将包括通过
写入输出
写入输出的所有值


希望这有帮助

基本上,问题是你没有归还任何东西,所以没有东西可以归还。你应该从会话中返回一些东西,而不是像你试图做的那样将一些东西放入会话中。我会尝试的。感谢您的快速回复。