다음을 통해 공유


개체 구조 보기

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은 Properties 값과 함께 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, 메서드, ParameterizedProperty, MemberSet 및 All입니다.

프로세스에는 60개 이상의 속성이 있습니다. 기본적으로 PowerShell은 이름이 .format.ps1xml로 끝나는 XML 파일에 저장된 정보를 사용하여 개체 형식을 표시하는 방법을 결정합니다. 프로세스 개체의 서식 정의는 DotNetTypes.format.ps1xml에 저장됩니다.

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