我正在关注 Jeffrey Snover(Powershell 的发明者)的 YouTube 教程。在 2 小时 3-7 分钟左右,它正在谈论 powershell 中的对象。它希望通过获取一个进程,然后根据进程的句柄进行选择和排序。当我尝试输入命令时,它不显示句柄列。这是我根据视频输入的代码。我正在使用 Powershell 版本 7,我认为它们使用的是 Powershell 版本 3。
PS C:\> get-process |where handles
任何见解或帮助表示赞赏。
我期待 NPM 列左侧有一个句柄列。
PowerShell 将 数据 与其 表示 严格分离。
(
where
) 按给定属性进行过滤的 data操作与为过滤后的
System.Diagnostics.Process
对象显示的内容无关,也没有影响。后者仅由与该 .NET 数据类型关联的格式化数据
.Handles
属性
可用于输出对象上的数据处理。
它,请将其名称传递给-Property
Format-Table
参数
属性的名称,例如:
Get-Process | Where Handles | Format-Table Handles, Id, Name
请注意,您可以使用
*
来匹配
所有可用属性:
Get-Process | Where Handles | Format-Table Handles, *
.Handles
是类型原生
.HandleCount
属性的 alias 属性,*
也会选择该属性,因此您将获得 both
Handles
和等效的 HandleCount
列。