Get-Member
Lekéri az objektumok tulajdonságait és metódusait.
Syntax
Default (Alapértelmezett)
Get-Member
[[-Name] <String[]>]
[-InputObject <PSObject>]
[-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 a
Példák
1. példa: Folyamatobjektumok tagjainak lekérése
PS> Get-Service | Get-Member
TypeName: System.ServiceProcess.ServiceController
Name MemberType Definition
---- ---------- ----------
Name AliasProperty Name = ServiceName
Close Method System.Void Close()
Continue Method System.Void Continue()
CreateObjRef Method System.Runtime.Remoting.ObjRef CreateObjRef(Type requestedType)
Dispose Method System.Void Dispose()
Equals Method System.Boolean Equals(Object obj)
ExecuteCommand Method System.Void ExecuteCommand(Int32 command)
GetHashCode Method System.Int32 GetHashCode()
GetLifetimeService Method System.Object GetLifetimeService()
GetType Method System.Type GetType()
InitializeLifetimeService Method System.Object InitializeLifetimeService()
Pause Method System.Void Pause()
Refresh Method System.Void Refresh()
Start Method System.Void Start(), System.Void Start(String[] args)
Stop Method System.Void Stop()
ToString Method System.String ToString()
WaitForStatus Method System.Void WaitForStatus(ServiceControllerStatus desiredStatus), System.Voi...
CanPauseAndContinue Property System.Boolean CanPauseAndContinue {get;}
CanShutdown Property System.Boolean CanShutdown {get;}
CanStop Property System.Boolean CanStop {get;}
Container Property System.ComponentModel.IContainer Container {get;}
DependentServices Property System.ServiceProcess.ServiceController[] DependentServices {get;}
DisplayName Property System.String DisplayName {get;set;}
MachineName Property System.String MachineName {get;set;}
ServiceHandle Property System.Runtime.InteropServices.SafeHandle ServiceHandle {get;}
ServiceName Property System.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;}
Status Property System.ServiceProcess.ServiceControllerStatus Status {get;}
Ez a parancs megjeleníti a Get-Service parancsmag által létrehozott folyamatobjektumok (System.ServiceProcess.ServiceController) tulajdonságait és metódusait.
A parancs a folyamat operátorral (|) küldi el egy Get-Service parancs kimenetét Get-Member.
Mivel a parancs Get-Member része nem tartalmaz paramétereket, az összes alapértelmezett értéket használja. Így az összes tagtípust megkapja, de nem kap statikus tagokat, és nem jelenít meg belső tagokat.
2. példa: Szolgáltatásobjektumok tagjainak lekérése
PS> Get-Service | Get-Member -Force
PS> (Get-Service Schedule).PSBase
Ez a példa lekéri a Get-Service parancsmag által lekért szolgáltatásobjektumok (System.ServiceProcess.ServiceController) összes tagját (tulajdonságait és metódusait), beleértve a belső tagokat, például a PSBase-t és a PSObjectet, valamint a get_ és set_ metódusokat.
Az első parancs a Get-Service parancsmaggal szerzi be a rendszeren lévő szolgáltatásokat képviselő objektumokat. Egy folyamatkezelő (|) használatával továbbítja a szolgáltatásobjektumokat a Get-Member parancsmagnak.
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 megjelenítéshez. Get-Member lekéri ezeket a tagokat, de alapértelmezés szerint elrejti őket.
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 az Schedule szolgáltatás PSBase tulajdonságának értékét.
3. példa: Szolgáltatásobjektumok kiterjesztett tagjainak lekérése
PS> Get-Service| Get-Member -View Extended
TypeName: System.ServiceProcess.ServiceController
Name MemberType Definition
---- ---------- ----------
Name AliasProperty Name = ServiceName
Ez a parancs lekéri a Types.ps1xml fájllal vagy a Add-Member parancsmaggal bővített szolgáltatásobjektumok metódusait és tulajdonságait.
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
PS> Get-EventLog -Log System | Get-Member -MemberType ScriptProperty
TypeName: System.Diagnostics.EventLogEntry
Name MemberType Definition
---- ---------- ----------
EventID ScriptProperty System.Object EventID {get=$this.get_EventID() -band 0xFFFF;}
Ez a parancs lekéri az eseménynapló-objektumok szkripttulajdonságait az Eseménynapló rendszernaplójában.
A parancs a MemberType paramétert használja, hogy csak a ScriptProperty értékkel rendelkező objektumokat kérje le a MemberType tulajdonsághoz.
A parancs a EventLog objektum EventID tulajdonságát adja vissza.
5. példa: Objektumok lekérése megadott tulajdonsággal
PS> $A = "Get-Process", "Get-Service", "Get-Culture", "Get-PSDrive", "Get-ExecutionPolicy"
PS> ForEach ($Cmdlet in $A) {Invoke-Command $Cmdlet | Get-Member -Name MachineName}
TypeName: System.Diagnostics.Process
Name MemberType Definition
---- ---------- ----------
MachineName Property System.String MachineName {get;}
TypeName: System.ServiceProcess.ServiceController
Name MemberType Definition
---- ---------- ----------
MachineName Property System.String MachineName {get;set;}
Ez a parancs lekéri azokat az objektumokat, amelyek MachineName tulajdonsággal rendelkeznek a parancsmagok listájából.
Az első parancs több parancsmag nevét tárolja a $A változóban.
A második parancs egy ForEach utasítással hívja meg az egyes parancsokat, elküldi az eredményeket Get-Member, és korlátozza a Get-Member eredményeit a MachineName nevű tagokra.
Az eredmények azt mutatják, hogy csak a folyamatobjektumok (System.Diagnostics.Process) és a szolgáltatásobjektumok (System.ServiceProcess.ServiceController) rendelkeznek MachineName tulajdonságmal.
6. példa: Tagok lekérése tömbhöz
PS> $A = @(1)
PS> $A.Count
1
PS> Get-Member -InputObject $A
TypeName: System.Object[]
Name MemberType Definition
---- ---------- ----------
Count AliasProperty Count = Length
Address Method System.Object& Address(Int32 )
Clone Method System.Object Clone()
...
PS> $A = @(1,2,3)
PS> Get-Member -InputObject $A
TypeName: System.Object[]
Name MemberType Definition
---- ---------- ----------
Count AliasProperty Count = Length
Address Method System.Object& Address(Int32 )
Clone Method System.Object Clone()
...
PS> $A.Count
3
Ez a példa bemutatja, hogyan keresheti meg az objektumok tömbjének tulajdonságait és metódusait, ha csak egy adott típusú objektummal rendelkezik.
Mivel a parancs célja egy tömb tulajdonságainak megkeresése, az első parancs a InputObject paramétert használja. Az at szimbólumot (@) használja egy tömb jelzésére. Ebben az esetben a tömb csak egy objektumot, az 1 egész számot tartalmazza.
A harmadik parancs a Get-Member parancsmagot használja az egész számok tömbjének tulajdonságainak és metódusainak lekéréséhez, és a parancs menti őket a $A változóba.
A negyedik parancs a tömb Darabszám tulajdonságával keresi meg a $A változóban lévő objektumok számát.
7. példa: A beállítható objektumtulajdonságok meghatározása
PS> $File = Get-Item c:\test\textFile.txt
PS> $File.psobject.properties | Where-Object {$_.issettable} | Format-Table -Property name
Name
----
PSPath
PSParentPath
PSChildName
PSDrive
PSProvider
PSIsContainer
IsReadOnly
CreationTime
CreationTimeUtc
LastAccessTime
LastAccessTimeUtc
LastWriteTime
LastWriteTimeUtc
Attributes
PS> [appdomain]::CurrentDomain.GetAssemblies() | ForEach-Object { $_.getexportedtypes() } | ForEach-Object {$_.getproperties() | Where-Object {$_.canwrite }} | Select-Object reflectedtype, name
Ez a példa bemutatja, hogyan határozható meg, hogy egy objektum mely tulajdonságai módosíthatók. A példa egy fájlt használ, de ezzel a parancsformátummal megkeresheti bármelyik objektum módosítható tulajdonságait a Windows PowerShellben.
Az első parancs a Get-Item parancsmagot használja egy szövegfájl lekéréséhez, majd menti a fájlobjektumot a $File változóba.
A második parancs lekéri a fájlobjektum összes módosítható tulajdonságát a $File változóban, és megjeleníti a tábla tulajdonságainak nevét.
A harmadik parancs lekéri a Windows PowerShell-munkamenet összes objektumának módosítható tulajdonságait.
8. példa: A gyűjtemény egyes elemeinek tagjainak lekérése
PS> $S = Get-Service
PS> $S | Get-Member
TypeName: System.ServiceProcess.ServiceController
Name MemberType Definition
---- ---------- ----------
Name AliasProperty Name = ServiceName
RequiredServices AliasProperty RequiredServices = ServicesDependedOn
Disposed Event System.EventHandler Disposed(System.Object, System.EventArgs
Close Method System.Void Close()
Continue Method System.Void Continue()
CreateObjRef Method System.Runtime.Remoting.ObjRef CreateObjRef(type requestedTy
Dispose Method System.Void Dispose()
...
PS> Get-Member -InputObject $S
TypeName: System.Object[]
Name MemberType Definition
---- ---------- ----------
Count AliasProperty Count = Length
Address Method System.Object&, mscorlib, Version=2.0.0.0, Cultu
Clone Method System.Object Clone()
CopyTo Method System.Void CopyTo(array array, int index), Syst
Equals Method bool Equals(System.Object obj)
Get Method System.Object Get(int )
GetEnumerator Method System.Collections.IEnumerator GetEnumerator()
GetHashCode Method int GetHashCode()
...
Ez a példa bemutatja, hogyan működik az InputObject paraméter a Get-Member parancsmagban. Ha a InputObject paramétert használja egy gyűjtemény tagjainak lekéréséhez, a Get-Member lekéri a gyűjtemény tagjait. Ha objektumgyűjteményt csövez be Get-Member, Get-Member lekéri a gyűjtemény egyes elemeinek tagjait.
Az első parancs lekéri a szolgáltatásokat a helyi számítógépen, és menti a szolgáltatásokat a $S változóba.
A második parancs a $S változót a Get-Member parancsmagra irányítja. Get-Member lekéri a $S egyes tagjainak és az adott típusú tagoknak a típusait. Ebben az esetben ServiceController-objektumokat kap, és felsorolja a tagokat, például a RequiredServices és a Close elemet.
A harmadik parancs a Get-MemberInputObject paraméterét használja a $S változó elküldéséhez. Get-Member lekéri a típust (System.Object[]) és a ServiceController objektumok gyűjteményének (vagy tömbjének) tagjait, például a Darabszámot és a Klónozást.
Paraméterek
-Force
Hozzáadja a belső tagokat (PSBase, PSAdapted, PSObject, PSTypeNames) és a fordító által létrehozott get_ és set_ metódusokat a megjelenítéshez. Alapértelmezés szerint Get-Member ezeket a tulajdonságokat az Alap és az Adaptált nézeten kívül minden nézetben megkapja, de nem jeleníti meg őket.
Az alábbi lista a Force paraméter használatakor hozzáadott tulajdonságokat ismerteti:
- PSBase: A .NET-keretrendszer objektumának eredeti tulajdonságai bővítmény vagy adaptáció nélkül. Ezek az objektumosztályhoz definiált és az MSDN-ben felsorolt tulajdonságok.
- PSAdapted. A Bővített Windows 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 Windows 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 Windows PowerShell a Windows PowerShell telepítési könyvtárában ($pshome) megkeresi a Format.ps1xml fájlok típusait. Az első megtalált típus formázási definícióját használja.
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:
- Ha objektumgyűjteményt csövez 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 az Összes.
A paraméter elfogadható értékei a következők:
- AliasProperty
- CodeProperty
- Ingatlan
- JegyzetTulajdonság
- ScriptProperty
- Tulajdonságok
- Tulajdonságkészlet
- Metódus
- CodeMethod
- ScriptMethod
- Módszerek
- ParaméterezettTulajdonság
- MemberSet
- Esemény
- Dinamikus
- Összes
Ezekről az értékekről további információt PSMemberTypes Enumeration az MSDN-kódtárban talál.
Nem minden objektum rendelkezik minden tagtípussal. Ha olyan tagtípust ad meg, amellyel az objektum nem rendelkezik, a Windows 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, a Tag lekérése 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, a Tag lekérése csak azokat a tagokat kéri le, amelyek megfelelnek az összes paraméter feltételeinek.
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 paraméterrel, a View paraméter figyelmen kívül lesz hagyva. Ha a Statikus paramétert használja a MemberType paraméterrel, a 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 beállítás az Adaptált, Bővített.
Az érvényes értékek a következők:
- Alap. Csak a .NET-keretrendszer objektum eredeti tulajdonságait és metódusait kapja meg (bővítmény vagy adaptáció nélkül).
- Igazítani. Csak a Bővített Windows 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, a Tag lekérése 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: | None |
| 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
Bármilyen objektumot becsúszthat Get-Member.
Kimenetek
MemberDefinition
Get-Member minden egyes tulajdonsághoz vagy metódushoz visszaad egy objektumot.
Jegyzetek
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.