为什么下面的命令返回比Select中更多的属性?
$obj = Get-VM | Select VMName,State; $obj输出:
VMName : blah-blah
State : Off
PSComputerName : host
RunspaceId : URI那么如何才能获得State的值呢?
$obj = Get-VM | Select VMName,State; $obj.State上面的代码应该可以解决这个问题,但是没有:(
发布于 2013-08-15 07:12:13
这应该是可行的,但听起来像是由于某种原因,将Get-VM的结果分配给$obj之前,任何东西都被输送到select。在提示符下单独尝试Get-VM | select VMName, State,如果您获得了预期的结果,请尝试执行以下操作:
$obj = (Get-VM | select VMName, State); $obj要仅获取状态属性,可以执行以下操作:
(Get-VM).State发布于 2013-08-16 07:23:28
发现问题:)
上面的命令很好,但是当它被包装在一个Invoke-Command中,这样它在另一台机器上运行时,结果就会被修改为包括运行特定的信息,并且需要一个“后续选择”,如下所示:
Invoke-Command -Comuptername XXXX -ScriptBlock {$obj = Get-VM | Select VMName,State; $obj} | Select Statehttps://stackoverflow.com/questions/18243509
复制相似问题