远程Powershell返回值

时间:2014-12-12 11:19:30

标签: powershell iis winrm

我想在多台服务器上运行带WinRM的PowerShell。我正在使用带有脚本块的Invoke-Command。

我正在从IIS读取并希望返回AppPool-Object,但我无法访问其属性 - 始终为空。

#--imagine this code in a foreach block
$result = Invoke-Command -ComputerName $line.Servername -ScriptBlock {

        Import-Module WebAdministration
        $remotePoolName = Get-Item "IIS:\Sites\LeSite" #| Select-Object applictionPool 

        $pool = dir IIS:\AppPools | Where-Object { $_.Name -eq $remotePoolName.applicationPool }
           return $pool

}
write-host $result.managedRuntimeVersion <- empty

我是否必须在远程计算机上访问它并将其作为字符串返回?

1 个答案:

答案 0 :(得分:1)

这里的问题是,您指的是包含get和set函数的属性。

在服务器区域之外使用这些功能不会产生任何结果,因为对象不再在您的服务器环境中。

在脚本块中使用这些功能将起作用,因为您可以直接在服务器上使用它们。

格尔茨