Megosztás a következőn keresztül:


Get-Member

Lekéri az objektumok tulajdonságait és metódusait.

Syntax

Default (Alapértelmezett)

Get-Member
    [-InputObject <PSObject>]
    [[-Name] <String[]>]
    [-MemberType <PSMemberTypes>]
    [-View <PSMemberViewTypes>]
    [-Static]
    [-Force]
    [<CommonParameters>]

Description

A Get-Member parancsmag lekéri az objektumok tagjait, tulajdonságait és metódusait.

Az objektum megadásához használja az InputObject paramétert, vagy csövezzön egy objektumot Get-Member. A statikus tagokkal kapcsolatos információk lekéréséhez az osztály tagjai, nem pedig a példány tagjai a Statikus paramétert használják. Ha csak bizonyos típusú tagokat szeretne lekérni, például NoteProperties, használja a MemberType paramétert.

Get-Member betűrendbe rendezett taglistát ad vissza. Először a metódusok jelennek meg, majd a tulajdonságok.

Példák

1. példa: Folyamatobjektumok tagjainak lekérése

Ez a parancs megjeleníti a Get-Service parancsmag által létrehozott szolgáltatásobjektumok tulajdonságait és metódusait.

Mivel a parancs Get-Member része nem tartalmaz paramétereket, a paraméterek alapértelmezett értékeit használja. Alapértelmezés szerint Get-Member nem kap statikus vagy belső tagokat.

Get-Service | Get-Member
   TypeName: System.Service.ServiceController#StartupType

Name                      MemberType    Definition
----                      ----------    ----------
Name                      AliasProperty Name = ServiceName
RequiredServices          AliasProperty RequiredServices = ServicesDependedOn
Disposed                  Event         System.EventHandler Disposed(System.Object, System.EventArgs)
Close                     Method        void Close()
Continue                  Method        void Continue()
Dispose                   Method        void Dispose(), void IDisposable.Dispose()
Equals                    Method        bool Equals(System.Object obj)
ExecuteCommand            Method        void ExecuteCommand(int command)
GetHashCode               Method        int GetHashCode()
GetLifetimeService        Method        System.Object GetLifetimeService()
GetType                   Method        type GetType()
InitializeLifetimeService Method        System.Object InitializeLifetimeService()
Pause                     Method        void Pause()
Refresh                   Method        void Refresh()
Start                     Method        void Start(), void Start(string[] args)
Stop                      Method        void Stop()
WaitForStatus             Method        void WaitForStatus(System.ServiceProcess.ServiceControllerSt...
BinaryPathName            Property      System.String {get;set;}
CanPauseAndContinue       Property      bool CanPauseAndContinue {get;}
CanShutdown               Property      bool CanShutdown {get;}
CanStop                   Property      bool CanStop {get;}
Container                 Property      System.ComponentModel.IContainer Container {get;}
DelayedAutoStart          Property      System.Boolean {get;set;}
DependentServices         Property      System.ServiceProcess.ServiceController[] DependentServices {get;}
Description               Property      System.String {get;set;}
DisplayName               Property      string DisplayName {get;set;}
MachineName               Property      string MachineName {get;set;}
ServiceHandle             Property      System.Runtime.InteropServices.SafeHandle ServiceHandle {get;}
ServiceName               Property      string ServiceName {get;set;}
ServicesDependedOn        Property      System.ServiceProcess.ServiceController[] ServicesDependedOn {get;}
ServiceType               Property      System.ServiceProcess.ServiceType ServiceType {get;}
Site                      Property      System.ComponentModel.ISite Site {get;set;}
StartType                 Property      System.ServiceProcess.ServiceStartMode StartType {get;}
StartupType               Property      Microsoft.PowerShell.Commands.ServiceStartupType {get;set;}
Status                    Property      System.ServiceProcess.ServiceControllerStatus Status {get;}
UserName                  Property      System.String {get;set;}
ToString                  ScriptMethod  System.Object ToString();

2. példa: Szolgáltatásobjektumok tagjainak lekérése

Ez a példa lekéri a Get-Service parancsmag által lekért szolgáltatásobjektumok összes tagját (tulajdonságait és metódusait), beleértve a belső tagokat is, például psbase, psobject, valamint a get_ és set_ metódusokat.

Get-Service | Get-Member -Force
(Get-Service Schedule).psbase

A Get-Member parancs a Force paraméter használatával adja hozzá az objektumok belső tagjait és fordító által létrehozott tagjait a kijelzőhöz. Ezeket a tulajdonságokat és metódusokat ugyanúgy használhatja, mint az objektum adaptált metódusát. A második parancs bemutatja, hogyan jelenítheti meg a Schedule szolgáltatás psbase tulajdonságának értékét. További információ a belső tagokról: about_Intrinsic_Members

3. példa: Szolgáltatásobjektumok kiterjesztett tagjainak lekérése

Ez a példa lekéri a Types.ps1xml fájllal vagy a Add-Member parancsmaggal bővített szolgáltatásobjektumok metódusait és tulajdonságait.

Get-Service | Get-Member -View Extended
   TypeName: System.Service.ServiceController#StartupType

Name             MemberType    Definition
----             ----------    ----------
Name             AliasProperty Name = ServiceName
RequiredServices AliasProperty RequiredServices = ServicesDependedOn
ToString         ScriptMethod  System.Object ToString();

A Get-Member parancs a View paramétert használja a szolgáltatásobjektumok kiterjesztett tagjainak lekéréséhez. Ebben az esetben a kiterjesztett tag a Name tulajdonság, amely a ServiceName tulajdonság aliastulajdonsága.

4. példa: Eseménynapló-objektumok szkripttulajdonságainak lekérése

Ez a példa lekéri az eseménynapló-objektumok szkripttulajdonságait az Eseménynapló rendszernaplójában.

Get-WinEvent -LogName System -MaxEvents 1 | Get-Member -MemberType NoteProperty
   TypeName: System.Diagnostics.Eventing.Reader.EventLogRecord

Name    MemberType   Definition
----    ----------   ----------
Message NoteProperty string Message=The machine-default permission settings do not grant Local ...

A MemberType paraméter csak NoteProperty értékkel rendelkező objektumokat kap a MemberType tulajdonsághoz.

A parancs a EventLogRecord objektum Message tulajdonságát adja vissza.

5. példa: Objektumok lekérése megadott tulajdonsággal

Ez a példa a parancsmagok listájából lekéri azokat az objektumokat, amelyek MachineName tulajdonsággal rendelkeznek a kimenetben.

A $list változó a kiértékelendő parancsmagok listáját tartalmazza. A foreach utasítás meghívja az egyes parancsokat, és elküldi az eredményeket Get-Member. A Name paraméter a Get-Member eredményeit a MachineName nevű tagokra korlátozza.

$list = "Get-Process", "Get-Service", "Get-Culture", "Get-PSDrive", "Get-ExecutionPolicy"
foreach ($cmdlet in $list) {& $cmdlet | Get-Member -Name MachineName}
   TypeName: System.Diagnostics.Process

Name        MemberType Definition
----        ---------- ----------
MachineName Property   string MachineName {get;}

   TypeName: System.Service.ServiceController#StartupType

Name        MemberType Definition
----        ---------- ----------
MachineName Property   string MachineName {get;set;}

Az eredmények azt mutatják, hogy csak a folyamatobjektumok és a szolgáltatásobjektumok rendelkeznek MachineName tulajdonságmal.

6. példa: Tagok lekérése tömbhöz

Ez a példa bemutatja, hogyan keresheti meg egy objektumtömb tagjait. Amikor az objektumokat Get-Membercsövezi, a parancsmag egy taglistát ad vissza a tömb minden egyedi objektumtípusához. Ha a InputObject paraméterrel adja át a tömböt, a rendszer egyetlen objektumként kezeli a tömböt.

$array = @(1,'hello')
$array | Get-Member
   TypeName: System.Int32

Name        MemberType Definition
----        ---------- ----------
CompareTo   Method     int CompareTo(System.Object value), int CompareTo(int value), int ICompar...
Equals      Method     bool Equals(System.Object obj), bool Equals(int obj), bool IEquatable[int...
GetHashCode Method     int GetHashCode()
GetType     Method     type GetType()
GetTypeCode Method     System.TypeCode GetTypeCode(), System.TypeCode IConvertible.GetTypeCode()
ToBoolean   Method     bool IConvertible.ToBoolean(System.IFormatProvider provider)
ToByte      Method     byte IConvertible.ToByte(System.IFormatProvider provider)
...

   TypeName: System.String

Name                 MemberType            Definition
----                 ----------            ----------
Clone                Method                System.Object Clone(), System.Object ICloneable.Clone()
CompareTo            Method                int CompareTo(System.Object value), int CompareTo(str...
Contains             Method                bool Contains(string value), bool Contains(string val...
CopyTo               Method                void CopyTo(int sourceIndex, char[] destination, int ...
EndsWith             Method                bool EndsWith(string value), bool EndsWith(string val...
EnumerateRunes       Method                System.Text.StringRuneEnumerator EnumerateRunes()
Equals               Method                bool Equals(System.Object obj), bool Equals(string va...
GetEnumerator        Method                System.CharEnumerator GetEnumerator(), System.Collect...
GetHashCode          Method                int GetHashCode(), int GetHashCode(System.StringCompa...
...
Get-Member -InputObject $array
   TypeName: System.Object[]

Name           MemberType            Definition
----           ----------            ----------
Add            Method                int IList.Add(System.Object value)
Address        Method                System.Object&, System.Private.CoreLib, Version=4.0.0.0, Cu...
Clear          Method                void IList.Clear()
Clone          Method                System.Object Clone(), System.Object ICloneable.Clone()
CompareTo      Method                int IStructuralComparable.CompareTo(System.Object other, Sy...
...

A $array változó egy Int32 objektumot és egy sztringet objektumot tartalmaz, amint az a tömb Get-Member. Ha a $array az InputObject paraméterrel van átadva, Get-Member a Objektum[] típus tagjait adja vissza.

7. példa: A beállítható objektumtulajdonságok meghatározása

Ez a példa bemutatja, hogyan határozható meg, hogy egy objektum mely tulajdonságai módosíthatók.

$File = Get-Item C:\test\textFile.txt
$File.psobject.Properties | Where-Object IsSettable | Select-Object -Property Name
Name
----
PSPath
PSParentPath
PSChildName
PSDrive
PSProvider
PSIsContainer
IsReadOnly
CreationTime
CreationTimeUtc
LastAccessTime
LastAccessTimeUtc
LastWriteTime
LastWriteTimeUtc
Attributes

8. példa: Egy objektum tulajdonságainak listázása a létrehozásuk sorrendjében

Ez a példa létrehoz egy új PSObject, és tulajdonságokat ad hozzá. Get-Member betűrendben listázza a tulajdonságokat. A tulajdonságoknak az objektumhoz való hozzáadásának sorrendjében való megtekintéséhez a psobject belső tagot kell használnia.

$Asset = New-Object -TypeName psobject
$d = [ordered]@{Name="Server30";System="Server Core";PSVersion="4.0"}
$Asset | Add-Member -NotePropertyMembers $d -TypeName Asset
$Asset.psobject.Properties | Select-Object Name, Value
Name      Value
----      -----
Name      Server30
System    Server Core
PSVersion 4.0

Paraméterek

-Force

Hozzáadja a belső tagokat és a fordító által létrehozott get_ és set_ metódusokat a megjelenítéshez. Az alábbi lista a Force paraméter használatakor hozzáadott tulajdonságokat ismerteti:

  • psbase: A .NET-objektum eredeti tulajdonságai bővítmény vagy adaptáció nélkül. Ezek az objektumosztályhoz definiált tulajdonságok.
  • psadapted: A Kiterjesztett PowerShell-típusrendszerben definiált tulajdonságok és metódusok.
  • psextended: A Types.ps1xml fájlokban vagy a Add-Member parancsmag használatával hozzáadott tulajdonságok és metódusok.
  • psobject: Az alapobjektumot PowerShell-PSObject objektummá konvertáló adapter.
  • pstypenames: Az objektumot leíró objektumtípusok listája a konkrétság sorrendjében. Az objektum formázásakor a PowerShell a PowerShell telepítési könyvtárában (Format.ps1xml) megkeresi a $PSHOME fájlok típusait. Az első megtalált típus formázási definícióját használja.

Alapértelmezés szerint Get-Member minden nézetben lekéri ezeket a tulajdonságokat, kivéve Alapszintű és Adaptált, de nem jeleníti meg őket.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-InputObject

Azt az objektumot adja meg, amelynek a tagjai le vannak kérve.

Az InputObject paraméter használata nem ugyanaz, mint amikor egy objektumot Get-Member. A különbségek a következők:

  • Amikor objektumgyűjteményt csövez a Get-Member, Get-Member lekéri a gyűjtemény egyes objektumainak tagjait, például az egyes sztringek tulajdonságait egy sztringtömbben.
  • Ha InputObject használatával küld el objektumgyűjteményt, Get-Member lekéri a gyűjtemény tagjait, például a tömb tulajdonságait egy sztringtömbben.

Paramétertulajdonságok

Típus:PSObject
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:True
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-MemberType

Megadja a parancsmag által lekért tagtípust. Az alapértelmezett érték a All.

A paraméter elfogadható értékei a következők:

  • AliasProperty
  • CodeProperty
  • Property
  • NoteProperty
  • ScriptProperty
  • Properties
  • PropertySet
  • Method
  • CodeMethod
  • ScriptMethod
  • Methods
  • ParameterizedProperty
  • MemberSet
  • Event
  • Dynamic
  • All

Ezek az értékek jelölőalapú számbavételként vannak definiálva. Több érték kombinálásával több jelölőt is beállíthat ezzel a paraméterrel. Az értékek átadhatók a MemberType paraméternek értéktömbként vagy az értékek vesszővel elválasztott sztringjeként. A parancsmag bináris VAGY művelettel egyesíti az értékeket. Az értékek tömbként való átadása a legegyszerűbb lehetőség, és lehetővé teszi a tabulátorkiegészítés használatát is az értékeken.

Ezekről az értékekről további információt PSMemberTypes Enumerationcímű témakörben talál.

Nem minden objektum rendelkezik minden tagtípussal. Ha olyan tagtípust ad meg, amelyet az objektum nem tartalmaz, a PowerShell null értéket ad vissza. A kapcsolódó tagtípusok, például az összes kiterjesztett tag lekéréséhez használja a View paramétert. Ha a MemberType paramétert használja a Statikus vagy Nézet paraméterekkel, Get-Member lekéri a két csoporthoz tartozó tagokat.

Paramétertulajdonságok

Típus:PSMemberTypes
Alapértelmezett érték:None
Elfogadott értékek:AliasProperty, CodeProperty, Property, NoteProperty, ScriptProperty, Properties, PropertySet, Method, CodeMethod, ScriptMethod, Methods, ParameterizedProperty, MemberSet, Event, Dynamic, All
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:Típus

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Name

Az objektum egy vagy több tulajdonságának vagy metódusának nevét adja meg. Get-Member csak a megadott tulajdonságokat és metódusokat kapja meg.

Ha a Name paramétert a MemberType, Viewvagy Static paraméterrel használja, Get-Member csak azokat a tagokat kapja meg, amelyek megfelelnek az összes paraméter feltételének.

Statikus tag név szerinti lekéréséhez használja a Statikus paramétert a Név paraméterrel.

Paramétertulajdonságok

Típus:

String[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:0
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Static

Azt jelzi, hogy ez a parancsmag csak az objektum statikus tulajdonságait és metódusait kapja meg. A statikus tulajdonságok és metódusok az objektumok osztályán vannak definiálva, nem pedig az osztály egy adott példányán.

Ha a Statikus paramétert használja a View vagy Force paraméterekkel, a parancsmag figyelmen kívül hagyja ezeket a paramétereket. Ha a Statikus paramétert a MemberType paraméterrel használja, Get-Member csak a két csoporthoz tartozó tagokat kapja meg.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-View

Azt adja meg, hogy ez a parancsmag csak bizonyos típusok tulajdonságait és metódusait kapja meg. Adjon meg egy vagy több értéket. Az alapértelmezett érték Adaptált, Bővített.

A paraméter elfogadható értékei a következők:

  • Alap. Csak a .NET-objektum eredeti tulajdonságait és metódusait kapja meg (kiterjesztés vagy adaptáció nélkül).
  • Igazítani. Csak a Kiterjesztett PowerShell-típusrendszerben definiált tulajdonságokat és metódusokat kapja meg.
  • Kiterjedt. Csak a Types.ps1xml fájlokban vagy a Add-Member parancsmaggal hozzáadott tulajdonságokat és metódusokat kapja meg.
  • Összes. Lekéri a tagokat az Alap, az Adaptált és a Kiterjesztett nézetben.

A View paraméter a lekért tagokat határozza meg, nem csak a tagok megjelenítését.

Adott tagtípusok, például szkripttulajdonságok lekéréséhez használja a MemberType paramétert. Ha a MemberType és View paramétereket használja ugyanabban a parancsban, Get-Member lekéri a két csoporthoz tartozó tagokat. Ha a Statikus és View paramétereket használja ugyanabban a parancsban, a View paraméter figyelmen kívül lesz hagyva.

Paramétertulajdonságok

Típus:PSMemberViewTypes
Alapértelmezett érték:Adapted, Extended
Elfogadott értékek:Extended, Adapted, Base, All
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

CommonParameters

Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.

Bevitelek

PSObject

A parancsmaghoz bármilyen objektumot csövezhet.

Kimenetek

MemberDefinition

Ez a parancsmag egy MemberDefinition ad vissza minden egyes tulajdonsághoz vagy metódushoz, amelyet megkap.

Jegyzetek

A PowerShell a következő aliasokat tartalmazza Get-Member:

  • Minden platform:
    • gm

A gyűjteményobjektumokkal kapcsolatos információkat az InputObject paraméterrel, vagy az objektum vesszővel megelőző pipálásával Get-Member.

Az $this automatikus változót olyan szkriptblokkokban használhatja, amelyek új tulajdonságok és metódusok értékeit határozzák meg. A $this változó annak az objektumnak a példányára vonatkozik, amelyhez a tulajdonságokat és metódusokat hozzáadja. A $this változóval kapcsolatos további információkért lásd: about_Automatic_Variables.

Ha egy típusúképviselő objektumot ad át , például egy típuskonstanst, például [int], Get-Member a [System.RuntimeType] típussal kapcsolatos információkat adja vissza. Ha azonban a Statikus paramétert használja, Get-Member a System.RuntimeType példány által képviselt adott típus statikus tagjait adja vissza.