개체 구조 보기

개체는 PowerShell에서 이러한 중심 역할을 하기 때문에 임의의 개체 형식으로 작동하도록 설계된 몇 가지 네이티브 명령이 있습니다. 가장 중요한 것은 명령입니다 Get-Member .

명령이 반환하는 개체를 분석하는 가장 간단한 방법은 해당 명령의 출력을 cmdlet으로 Get-Member 파이프하는 것입니다. cmdlet은 Get-Member 개체 형식의 정식 이름과 해당 멤버의 전체 목록을 표시합니다. 반환되는 요소의 수는 때때로 압도적일 수 있습니다. 예를 들어 프로세스 개체에는 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은 ValueProperties와 함께 MemberType 매개 변수를 사용하여 형식의 속성을 표시합니다. 결과 목록은 여전히 매우 길지만, 더 관리하기 쉬워졌습니다:

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은 이름이 끝나는 XML 파일에 저장된 정보를 사용하여 개체 형식을 표시하는 방법을 결정합니다 .format.ps1xml. 프로세스 개체에 대한 서식 정의는 에 DotNetTypes.format.ps1xml저장됩니다.

PowerShell이 기본적으로 표시하는 속성 이외의 속성을 확인해야 하는 경우 cmdlet을 사용하여 출력의 서식을 Format-* 지정할 수 있습니다.