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: ATypes.ps1xmlfájlokban vagy aAdd-Memberparancsmag 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$PSHOMEfá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-Memberleké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-Memberleké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:
AliasPropertyCodePropertyPropertyNotePropertyScriptPropertyPropertiesPropertySetMethodCodeMethodScriptMethodMethodsParameterizedPropertyMemberSetEventDynamicAll
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.ps1xmlfájlokban vagy aAdd-Memberparancsmaggal 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.