Objectstructuur (Get-lid) weergevenViewing Object Structure (Get-Member)

Omdat objecten wordt een centrale rol in Windows PowerShell spelen, zijn er verschillende ingebouwde opdrachten ontworpen voor gebruik met willekeurige objecttypen.Because objects play such a central role in Windows PowerShell, there are several native commands designed to work with arbitrary object types. Het belangrijkste instrument is de Get-lid opdracht.The most important one is the Get-Member command.

De eenvoudigste methode voor het analyseren van de objecten die een opdracht wordt geretourneerd naar de uitvoer van de opdracht voor pipe is de Get-lid cmdlet.The simplest technique for analyzing the objects that a command returns is to pipe the output of that command to the Get-Member cmdlet. De Get-lid cmdlet ziet u de formele naam van het objecttype en een volledig overzicht van de bijbehorende leden.The Get-Member cmdlet shows you the formal name of the object type and a complete listing of its members. Het aantal elementen die worden geretourneerd soms enigszins overweldigend kan zijn.The number of elements that are returned can sometimes be overwhelming. Een procesobject kan bijvoorbeeld meer dan 100 leden hebben.For example, a process object can have over 100 members.

Overzicht van alle leden van een proces-object en de uitvoer van de pagina zodat u alles kunt bekijken, typt u:To see all the members of a Process object and page the output so you can view all of it, type:

PS> Get-Process | Get-Member | Out-Host -Paging

De uitvoer van deze opdracht wordt als volgt uitzien:The output from this command will look something like this:

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...
...

Kunnen we deze lange lijst met informatie meer kan worden gebruikt met een filter voor elementen die we willen zien.We can make this long list of information more usable by filtering for elements we want to see. De Get-lid opdracht kunt u alleen leden die eigenschappen zijn.The Get-Member command lets you list only members that are properties. Er zijn verschillende vormen van eigenschappen.There are several forms of properties. Eigenschappen van elk type van de cmdlet worden weergegeven als we stellen de Get-lid MemberType -parameter voor de waarde eigenschappen.The cmdlet displays properties of any type if we set the Get-Member MemberType parameter to the value Properties. De resulterende lijst nog steeds erg lang zijn, maar een beetje beter kan worden beheerd:The resulting list is still very long, but a bit more manageable:

PS> 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...
...

Notitie

De toegestane waarden van MemberType zijn AliasProperty, CodeProperty eigenschap, NoteProperty, ScriptProperty, eigenschappen, PropertySet, methode, CodeMethod, ScriptMethod, methoden, ParameterizedProperty, ledenset en alle.The allowed values of MemberType are AliasProperty, CodeProperty, Property, NoteProperty, ScriptProperty, Properties, PropertySet, Method, CodeMethod, ScriptMethod, Methods, ParameterizedProperty, MemberSet, and All.

Er zijn meer dan 60 eigenschappen voor een proces.There are over 60 properties for a process. De Windows PowerShell toont vaak dat slechts een handvol eigenschappen voor een bekend object is dat ze alle reden zou een onbeheersbare hoeveelheid informatie opleveren.The reason Windows PowerShell often shows only a handful of properties for any well-known object is that showing all of them would produce an unmanageable amount of information.

Notitie

Windows PowerShell bepaalt hoe u een objecttype dat u met behulp van informatie opgeslagen in XML-bestanden die eindigt op namen hebben. format.ps1xml.Windows PowerShell determines how to display an object type by using information stored in XML files that have names ending in .format.ps1xml. De indelingsgegevens voor proces-objecten die System.Diagnostics.Process .NET-objecten, wordt opgeslagen in DotNetTypes.format.ps1xml.The formatting data for process objects, which are .NET System.Diagnostics.Process objects, is stored in DotNetTypes.format.ps1xml.

Als u nodig hebt om te kijken naar eigenschappen dan degene die standaard door Windows PowerShell wordt weergegeven, moet u de uitvoergegevens zelf formatteren.If you need to look at properties other than those that Windows PowerShell displays by default, you will need to format the output data yourself. Dit kan worden gedaan met behulp van de indeling-cmdlets.This can be done by using the format cmdlets.