Get-Member
Nesnelerin özelliklerini ve yöntemlerini alır.
Syntax
Default (Varsayılan)
Get-Member
[-InputObject <PSObject>]
[[-Name] <String[]>]
[-MemberType <PSMemberTypes>]
[-View <PSMemberViewTypes>]
[-Static]
[-Force]
[<CommonParameters>]
Description
Get-Member cmdlet'i nesnelerin üyelerini, özelliklerini ve yöntemlerini alır.
nesnesini belirtmek için InputObject parametresini kullanın veya nesnesini Get-Memberiçin kanala ekleyin. Statik üyeler hakkında bilgi almak için örneğin değil sınıfın üyeleri Static parametresini kullanın. yalnızca NotePropertiesgibi belirli üye türlerini almak için MemberType parametresini kullanın.
Get-Member alfabetik olarak sıralanmış üyelerin listesini döndürür. Yöntemler önce listelenir, ardından özellikler eklenir.
Örnekler
Örnek 1: İşlem nesnelerinin üyelerini alma
Bu komut, Get-Service cmdlet'i tarafından oluşturulan hizmet nesnelerinin özelliklerini ve yöntemlerini görüntüler.
Komutun Get-Member bölümü herhangi bir parametreye sahip olmadığından, parametreler için varsayılan değerleri kullanır. Varsayılan olarak, Get-Member statik veya iç üyeler almaz.
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();
Örnek 2: Hizmet nesnelerinin üyelerini alma
Bu örnek, Get-Service, psobjectve get_ ve set_ yöntemleri gibi iç üyeler de dahil olmak üzere cmdlet'i tarafından alınan hizmet nesnelerinin tüm üyelerini (özellikler ve yöntemler) alır.
Get-Service | Get-Member -Force
(Get-Service Schedule).psbase
Get-Member komutu, nesnelerin iç üyelerini ve derleyici tarafından oluşturulan üyelerini görüntülemeye eklemek için Force parametresini kullanır. Bu özellikleri ve yöntemleri, nesnenin uyarlanmış bir yöntemini kullandığınız şekilde kullanabilirsiniz. İkinci komut, Schedule hizmetinin psbase özelliğinin değerinin nasıl görüntüleneceğini gösterir. İç üyeler hakkında daha fazla bilgi için bkz. about_Intrinsic_Members
Örnek 3: Hizmet nesnelerinin genişletilmiş üyelerini alma
Bu örnek, bir Types.ps1xml dosyası veya Add-Member cmdlet'i kullanılarak genişletilmiş hizmet nesnelerinin yöntemlerini ve özelliklerini alır.
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();
Get-Member komutu, hizmet nesnelerinin yalnızca genişletilmiş üyelerini almak için Görünüm parametresini kullanır. Bu durumda genişletilmiş üye, ServiceName özelliğinin diğer ad özelliği olan Name özelliğidir.
Örnek 4: Olay günlüğü nesnelerinin betik özelliklerini alma
Bu örnek, Olay Görüntüleyicisi'ndeki Sistem günlüğündeki olay günlüğü nesnelerinin betik özelliklerini alır.
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 ...
MemberType parametresi yalnızca NoteProperty özelliği için değerine sahip nesneleri alır.
komut, EventLogRecord nesnesinin message özelliğini döndürür.
Örnek 5: Belirtilen özelliğe sahip nesneleri alma
Bu örnek, cmdlet'ler listesinden çıktıda MachineName özelliğine sahip nesneleri alır.
$list değişkeni, değerlendirilecek cmdlet'lerin listesini içerir.
foreach deyimi her komutu çağırır ve sonuçları Get-Membergönderir.
Adı parametresi, Get-Member sonuçlarını MachineName adlı üyeyle sınırlar.
$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;}
Sonuçlar yalnızca işlem nesnelerinin ve hizmet nesnelerinin MachineName özelliğine sahip olduğunu gösterir.
Örnek 6: Dizi için üye alma
Bu örnek, bir nesne dizisinin üyelerini bulmayı gösterir. nesnelerin dizisini Get-Member'ye yönelttiğinizde, cmdlet dizideki her benzersiz nesne türü için bir üye listesi döndürür.
InputObject parametresini kullanarak diziyi geçirirseniz, dizi tek bir nesne olarak değerlendirilir.
$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...
...
$array değişkeni bir Int32 nesnesi ve dizi 'e yöneltildiğinde görüldüğü gibi bir Get-Member nesnesi içerir.
$array
InputObject parametresi kullanılarak geçirildiğinde Get-MemberObject[] türünün üyelerini döndürür.
Örnek 7: Ayarlayabileceğiniz nesne özelliklerini belirleme
Bu örnekte, bir nesnenin hangi özelliklerinin değiştirilebileceğinin nasıl belirleneceği gösterilmektedir.
$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
Örnek 8: Bir nesnenin özelliklerini oluşturuldukları sırayla listeleme
Bu örnek, psobject yeni bir oluşturur ve özellikler ekler.
Get-Member özellikleri alfabetik sırada listeler. Özellikleri nesneye eklendikleri sırayla görmek için psobject iç üyesini kullanmanız gerekir.
$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
Parametreler
-Force
İç üyeleri ve derleyici tarafından oluşturulan get_ ve set_ yöntemlerini ekrana ekler. Aşağıdaki listede, Force parametresini kullandığınızda eklenen özellikler açıklanmaktadır:
-
psbase: Uzantı veya uyarlama olmadan .NET nesnesinin özgün özellikleri. Bunlar, nesne sınıfı için tanımlanan özelliklerdir. -
psadapted: PowerShell genişletilmiş tür sisteminde tanımlanan özellikler ve yöntemler. -
psextended:Types.ps1xmldosyalarına eklenen veyaAdd-Membercmdlet'i kullanılarak eklenen özellikler ve yöntemler. -
psobject: Temel nesneyi bir PowerShell PSObject nesnesine dönüştüren bağdaştırıcı. -
pstypenames: Nesneyi özgüllük sırasına göre tanımlayan nesne türlerinin listesi. Nesneyi biçimlendirirken PowerShell, PowerShell yükleme dizinindeki (Format.ps1xml)$PSHOMEdosyalarındaki türleri arar. Bulduğu ilk tür için biçimlendirme tanımını kullanır.
Varsayılan olarak, Get-MemberTemel ve Uyarlanmışdışındaki tüm görünümlerde bu özellikleri alır, ancak bunları görüntülemez.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-InputObject
Üyeleri alınan nesneyi belirtir.
InputObject parametresini kullanmak, bir nesneyi Get-Member'e göndermekle aynı değildir. Farklar şunlardır:
- Bir nesne koleksiyonunu
Get-Member'e ilettiğinizdeGet-Member, bir dize dizisindeki her dizenin özellikleri gibi koleksiyondaki tek tek nesnelerin üyelerini alır. - Bir nesne koleksiyonu göndermek için InputObject kullandığınızda,
Get-Memberdize dizisindeki dizinin özellikleri gibi koleksiyonun üyelerini alır.
Parametre özellikleri
| Tür: | PSObject |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | True |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-MemberType
Bu cmdlet'in aldığı üye türünü belirtir. Varsayılan değer: All.
Bu parametre için kabul edilebilir değerler şunlardır:
AliasPropertyCodePropertyPropertyNotePropertyScriptPropertyPropertiesPropertySetMethodCodeMethodScriptMethodMethodsParameterizedPropertyMemberSetEventDynamicAll
Bu değerler, bayrak tabanlı bir numaralandırma olarak tanımlanır. Bu parametreyi kullanarak birden çok bayrak ayarlamak için birden çok değeri birlikte birleştirebilirsiniz. Değerler MemberType parametresine bir değer dizisi veya bu değerlerin virgülle ayrılmış dizesi olarak geçirilebilir. cmdlet'i bir ikili OR işlemi kullanarak değerleri birleştirir. Değerleri dizi olarak geçirmek en basit seçenektir ve değerler üzerinde sekme tamamlama özelliğini kullanmanıza da olanak tanır.
Bu değerler hakkında bilgi için bkz. PSMemberTypes Numaralandırması.
Tüm nesneler her tür üyeye sahip değildir. Nesnenin sahip olmadığı bir üye türü belirtirseniz, PowerShell null bir değer döndürür. Tüm genişletilmiş üyeler gibi ilgili üye türlerini almak için Görünüm parametresini kullanın.
MemberType parametresini Static veya View parametreleriyle kullanırsanız, Get-Member her iki kümeye ait üyeleri alır.
Parametre özellikleri
| Tür: | PSMemberTypes |
| Default value: | None |
| Kabul edilen değerler: | AliasProperty, CodeProperty, Property, NoteProperty, ScriptProperty, Properties, PropertySet, Method, CodeMethod, ScriptMethod, Methods, ParameterizedProperty, MemberSet, Event, Dynamic, All |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | Türü |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Name
Nesnenin bir veya daha fazla özelliğinin veya yönteminin adlarını belirtir.
Get-Member yalnızca belirtilen özellikleri ve yöntemleri alır.
Name parametresini MemberType, Viewveya Static parametresiyle kullanırsanız, Get-Member yalnızca tüm parametrelerin ölçütlerini karşılayan üyeleri alır.
Ada göre statik üye almak için, Name parametresiyle Static parametresini kullanın.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | 0 |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Static
Bu cmdlet'in yalnızca nesnenin statik özelliklerini ve yöntemlerini aldığını gösterir. Statik özellikler ve yöntemler, sınıfın belirli bir örneğinde değil, nesne sınıfında tanımlanır.
Static parametresini View veya Force parametreleriyle kullanırsanız, cmdlet bu parametreleri yoksayar.
MemberType parametresiyle Static parametresini kullanırsanız, Get-Member yalnızca her iki kümeye ait üyeleri alır.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-View
Bu cmdlet'in yalnızca belirli tür özelliklerini ve yöntemlerini aldığını belirtir. Değerlerden birini veya daha fazlasını belirtin. Varsayılan UyarlanmışGenişletilmiş'dir.
Bu parametre için kabul edilebilir değerler şunlardır:
- Taban. Yalnızca .NET nesnesinin özgün özelliklerini ve yöntemlerini alır (uzantı veya uyarlama olmadan).
- Adapte. Yalnızca PowerShell genişletilmiş tür sisteminde tanımlanan özellikleri ve yöntemleri alır.
- Genişletilmiş. Yalnızca
Types.ps1xmldosyalarına veyaAdd-Membercmdlet'ini kullanarak eklenen özellikleri ve yöntemleri alır. - Tüm. Temel, Uyarlanmış ve Genişletilmiş görünümlerdeki üyeleri alır.
Görünüm parametresi, yalnızca bu üyelerin görüntülenmesini değil, alınan üyeleri belirler.
Betik özellikleri gibi belirli üye türlerini almak için MemberType parametresini kullanın. Aynı komutta MemberType ve Görünüm parametrelerini kullanırsanız, Get-Member her iki kümeye ait üyeleri alır. Aynı komutta
Parametre özellikleri
| Tür: | PSMemberViewTypes |
| Default value: | Adapted, Extended |
| Kabul edilen değerler: | Extended, Adapted, Base, All |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
CommonParameters
Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.
Girişler
PSObject
Herhangi bir nesneyi bu cmdlet'e yöneltebilirsiniz.
Çıkışlar
MemberDefinition
Bu cmdlet, aldığı her özellik veya yöntem için bir MemberDefinition döndürür.
Notlar
PowerShell, Get-Memberiçin aşağıdaki diğer adları içerir:
- Tüm platformlar:
gm
InputObject parametresini kullanarak veya önünde virgül bulunan nesnesini Get-Memberiçin kullanarak koleksiyon nesnesi hakkında bilgi alabilirsiniz.
Yeni özelliklerin $this ve yöntemlerin değerlerini tanımlayan betik bloklarında otomatik değişkeni kullanabilirsiniz.
$this değişkeni, özelliklerin ve yöntemlerin eklendiği nesne örneğine başvurur.
$this değişkeni hakkında daha fazla bilgi için bkz. about_Automatic_Variables.
gibi bir tür değişmez değeri gibi [int]türünü temsil eden bir nesne geçirirseniz Get-Member[System.RuntimeType] türü hakkındaki bilgileri döndürür. Ancak, Static parametresini kullandığınızda, Get-MemberSystem.RuntimeType örneği tarafından temsil edilen belirli türün statik üyelerini döndürür.