我正在运行PS命令get-Keyproperty
,该命令以下面的表格式返回结果”
Key Label Policy Running Required
--- ----- ------ ------- --------
abc UI on True False
efg UI off True False
我想检索
Policy
的值on
如何检索
Policy
abc
的Key
值?我正在运行
get-Keyproperty | Select-Object abc
,但无法正常工作。 最佳答案
要获取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
。 关于powershell - 如何从PS输出中过滤出特定值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50982511/