2

我想在多台服务器上运行带有 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

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

4

1 回答 1

1

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

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

在你的脚本块中使用这些函数会起作用,因为你直接在你的服务器上使用它们。

格雷茨

于 2014-12-12T12:59:57.607 回答