mea*_*our 1 powershell cmdlets powercli powershell-4.0
我正在运行一个PS命令get-Keyproperty,它以下面的表格格式返回结果"
Key Label Policy Running Required
--- ----- ------ ------- --------
abc UI on True False
efg UI off True False
Run Code Online (Sandbox Code Playgroud)
我想检索Policy其中的值on
如何检索Policy价值abc Key?
我正在跑,get-Keyproperty | Select-Object abc但它不起作用.
获得Policy尝试运行的价值
Get-Keyproperty | Select-Object -ExpandProperty Policy
Run Code Online (Sandbox Code Playgroud)
即使上面的命令是推荐的方法,你也可以得到相同的结果(Get-Keyproperty).Policy.
如果你想检查值是否匹配"on"就行了 (Get-Keyproperty | Select-Object -ExpandProperty Policy) -eq "on"
如果您想要Policy某个条目的值,您可以:
选择表格中其位置的条目
(Get-Keyproperty | Select-Object -ExpandProperty Policy)[0]
或者通过发现它的价值 Key
Get-Keyproperty | Where-Object {$_.Key -eq "abc" } | Select-Object -ExpandProperty Policy
正如评论中所提到的,相同命令的更短路径是
(Get-Keyproperty | ? Key -eq "abc").Policy
?是一个别名(Get-Alias ?),{script block}只需要更复杂的表达式,然后需要$_.Key或$PSItem.Key(在PSv3中引入)表示法; 这两者都是管道中当前对象的同义词.见Get-Help Where-Object.