当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 查看对象结构

作者:精品下载站 日期:2024-12-14 03:03:34 浏览:11 分类:玩电脑

查看对象结构


由于对象在 PowerShell 中扮演着如此重要的角色,因此有几个本机命令旨在处理任意对象类型。最重要的一个是 Get-Member 命令。

分析命令返回的对象的最简单技术是将命令的输出通过管道传递给 Get-Member cmdlet。 Get-Member cmdlet 显示对象类型的正式名称及其成员的完整列表。返回的元素数量有时可能会令人难以承受。例如,一个进程对象可以有 100 多个成员。

以下命令允许您查看 Process 对象的所有成员并通过输出进行分页。

Get-Process | Get-Member | Out-Host -Paging
TypeName: System.Diagnostics.Process

Name                           MemberType     Definition
----                           ----------     ----------
Handles                        AliasProperty  Handles = Handlecount
Name                           AliasProperty  Name = ProcessName
NPM                            AliasProperty  NPM = NonpagedSystemMemorySize
PM                             AliasProperty  PM = PagedMemorySize
VM                             AliasProperty  VM = VirtualMemorySize
WS                             AliasProperty  WS = WorkingSet
add_Disposed                   Method         System.Void add_Disposed(Event...
...

我们可以通过过滤我们想要查看的元素来使这个长长的信息列表更有用。 Get-Member 命令允许您仅列出属于属性的成员。属性有多种形式。该 cmdlet 使用带有值 PropertiesMemberType 参数显示类型的属性。结果列表仍然很长,但更易于管理:

Get-Process | Get-Member -MemberType Properties
   TypeName: System.Diagnostics.Process

Name                       MemberType     Definition
----                       ----------     ----------
Handles                    AliasProperty  Handles = Handlecount
Name                       AliasProperty  Name = ProcessName
...
ExitCode                   Property       System.Int32 ExitCode {get;}
...
Handle                     Property       System.IntPtr Handle {get;}
...
CPU                        ScriptProperty System.Object CPU {get=$this.Total...
...
Path                       ScriptProperty System.Object Path {get=$this.Main...
...

笔记

MemberType 允许的值为 AliasProperty、CodeProperty、Property、NoteProperty、ScriptProperty、Properties、PropertySet、Method、CodeMethod、ScriptMethod、Methods、ParameterizedProperty、MemberSet 和 All。

流程有 60 多个属性。默认情况下,PowerShell 确定如何使用存储在名称以 .format.ps1xml 结尾的 XML 文件中的信息来显示对象类型。流程对象的格式定义存储在 DotNetTypes.format.ps1xml 中。

如果您需要查看 PowerShell 默认显示的属性以外的属性,可以使用 Format-* cmdlet 格式化输出。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯