将数据从pssession传输到主机?

时间:2012-06-20 17:26:19

标签: powershell powershell-v2.0

基本上我的问题归结为此,我需要使用ServerManager模块在远程服务器上运行代码,但是将输出返回到本地shell。

以下是在WKS01上运行的代码:

Enter-PsSession SVR01
Import-Module ServerManager
$Roles = @(Get-WindowsFeature | Where {$_.installed -eq $true})

现在我需要使用WKS01上$ Roles中的数据。有没有办法做到这一点?我是不是错了?

2 个答案:

答案 0 :(得分:3)

这就是-ArgumentList的用途。

您可以使用此参数将参数传递给远程会话。 这是一个例子:

$procName = "powershell"
Invoke-Command -ComputerName (get-content c:\scripts\servers.txt) `
   -ScriptBlock {param ($Name) Get-Process -Name $Name} `
   –ArgumentList $procName

答案 1 :(得分:2)

$rs = New-PSSession -ComputerName SVR01
$Roles = Invoke-Command -Session $rs -ScriptBlock {
      Get-WindowsFeature | Where { $_.Installed }
}
Remove-PSSession $rs