我正在运行PS命令get-Keyproperty
,该命令以下面的表格式返回结果”
Key Label Policy Running Required
--- ----- ------ ------- --------
abc UI on True False
efg UI off True False
我要检索Policy
的值on
如何获取Policy
abc
的{{1}}值?
我正在运行Key
,但无法正常工作。
答案 0 :(得分:5)
要获取Policy
的值,请尝试运行
Get-Keyproperty | Select-Object -ExpandProperty Policy
尽管以上命令是推荐的方法,但您也可以使用(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
。