对于Windows大师来说,这应该是微不足道的,但对于* nix历史学家来说却似乎令人生畏。
我只想打印表中的Scope
和ExecutionPolicy
值,仅 ,这些值是通过
# Actual output:
(Get-ExecutionPolicy -List)
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine Bypass
# Expected output:
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine Bypass
这对Bash来说是微不足道的,只需将其输送到tail +4
。根据其他帖子,PS等效项应为| Select-Object -Last 5
,但这确实行不通。
如何在纯PowerShell中执行此操作?
我可以分别通过以下方式获取每个
:(Get-ExecutionPolicy -List).Scope
(Get-ExecutionPolicy -List).ExecutionPolicy
但是当再次将它们放在一起时,这看起来很难看。
答案 0 :(得分:4)
Get-ExecutionPolicy -List | Format-Table -hideTableHeader
答案 1 :(得分:3)
为扩展mhhollomon的答案,PowerShell具有基于存放在其文件夹中的.xml文件的对象的默认输出。对于Microsoft.PowerShell.ExecutionPolicy
输出的Get-ExecutionPolicy
对象,如果未明确指定其他格式,则默认情况下使用Format-Table
。由于该操作发生在流水线的末尾,因此您尝试的任何Select-Object
命令都将在流水线的末尾发生,因此,您只需要移除Microsoft.PowerShell.ExecutionPolicy
对象就可以到达流水线的末尾。剩余的对象到达管道的末尾,然后脚本引擎检查应该如何输出它们,并使用剩余的对象生成一个表。