我想在多台服务器上运行带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
我是否必须在远程计算机上访问它并将其作为字符串返回?
答案 0 :(得分:1)
这里的问题是,您指的是包含get和set函数的属性。
在服务器区域之外使用这些功能不会产生任何结果,因为对象不再在您的服务器环境中。
在脚本块中使用这些功能将起作用,因为您可以直接在服务器上使用它们。
格尔茨