Get-Member
Nesnelerin özelliklerini ve yöntemlerini alır.
Sözdizimi
Get-Member
[-InputObject <PSObject>]
[[-Name] <String[]>]
[-MemberType <PSMemberTypes>]
[-View <PSMemberViewTypes>]
[-Static]
[-Force]
[<CommonParameters>]
Description
cmdlet'i Get-Member
nesnelerin üyelerini, özelliklerini ve yöntemlerini alır.
Nesnesini belirtmek için InputObject parametresini kullanın veya nesnesini öğesine yöneltinGet-Member
. Statik üyeler hakkında bilgi almak için örneğin değil sınıfın üyeleri Static parametresini kullanın. NoteProperties gibi yalnızca 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, cmdlet tarafından oluşturulan hizmet nesnelerinin Get-Service
özelliklerini ve yöntemlerini görüntüler.
Komutun Get-Member
parçasında herhangi bir parametre olmadığından, parametreler için varsayılan değerleri kullanır. Varsayılan olarak, Get-Member
statik veya iç üyeleri 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, PSBase, PSObject ve get_ ve set_ yöntemleri gibi iç üyeler de dahil olmak üzere cmdlet tarafından Get-Service
alınan hizmet nesnelerinin tüm üyelerini (özellikler ve yöntemler) alır.
Get-Service | Get-Member -Force
(Get-Service Schedule).PSBase
komutu, Get-Member
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
dosya veya cmdlet kullanılarak genişletilmiş hizmet nesnelerinin Add-Member
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();
komutu, Get-Member
hizmet nesnelerinin yalnızca genişletilmiş üyelerini almak için View 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, sistem günlüğündeki olay günlüğü nesnelerinin betik özelliklerini Olay Görüntüleyicisi 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 MemberType özelliği için değeri olan NoteProperty
nesneleri alır.
komutu EventLogRecord nesnesinin Message özelliğini döndürür.
Örnek 5: Belirtilen özelliğe sahip nesneleri alma
Bu örnek, bir cmdlet 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ı öğesine Get-Member
gönderir. Name parametresi, sonuçları Get-Member
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. öğesine kanal ve nesne Get-Member
dizisi eklediğ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...
...
değişkeni$array
, dizisi öğesine yöneltildiğinde Get-Member
görüldüğü gibi bir Int32 nesnesi ve bir dize nesnesi içerir. InputObject parametresi kullanılarak geçirildiğinde $array
Object[] türünün üyelerini döndürür.Get-Member
Ö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 yeni bir PSObject oluşturur ve bu nesneye özellikler ekler. Get-Member
özellikleri alfabetik sırada listeler. Özellikleri nesneye eklendikleri sırada 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
: Dosyalara eklenen veya cmdlet'iTypes.ps1xml
kullanılarakAdd-Member
eklenen özellikler ve yöntemler.PSObject
: Temel nesneyi PowerShell PSObject nesnesine dönüştüren bağdaştırıcı.PSTypeNames
: Nesneyi belirlilik sırasına göre açıklayan nesne türlerinin listesi. Nesneyi biçimlendirirken PowerShell, PowerShell yükleme dizinindekiFormat.ps1xml
($PSHOME
) dosyalardaki türleri arar. Bulduğu ilk tür için biçimlendirme tanımını kullanır.
Varsayılan olarak, Get-Member
bu özellikleri Temel ve Uyarlanmış dışındaki tüm görünümlerde alır, ancak görüntülemez.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-InputObject
Üyeleri alınan nesneyi belirtir.
InputObject parametresini kullanmak, bir nesneyi öğesine Get-Member
göndermekle aynı değildir. Farklar şunlardır:
- Bir nesne koleksiyonunu öğesine
Get-Member
Get-Member
yönelttiğinizde, 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-Member
dize dizisindeki dizinin özellikleri gibi koleksiyonun üyelerini alır.
Tür: | PSObject |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-MemberType
Bu cmdlet'in aldığı üye türünü belirtir. Varsayılan değer: All
.
Bu parametrenin kabul edilebilir değerleri şunlardır:
AliasProperty
CodeProperty
Property
NoteProperty
ScriptProperty
Properties
PropertySet
Method
CodeMethod
ScriptMethod
Methods
ParameterizedProperty
MemberSet
Event
Dynamic
All
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 View parametresini kullanın. MemberType parametresini Static veya View parametreleriyle kullanırsanız, Get-Member
her iki kümeye de ait olan üyeleri alır.
Tür: | PSMemberTypes |
Diğer adlar: | Type |
Kabul edilen değerler: | AliasProperty, CodeProperty, Property, NoteProperty, ScriptProperty, Properties, PropertySet, Method, CodeMethod, ScriptMethod, Methods, ParameterizedProperty, MemberSet, Event, Dynamic, All |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | 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, View veya 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 Ad parametresiyle Static parametresini kullanın.
Tür: | String[] |
Position: | 0 |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | 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.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | 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 ayar Uyarlanmış, Genişletilmiş'tir.
Bu parametrenin kabul edilebilir değerleri ş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 bir
Types.ps1xml
dosyaya eklenen özellikleri ve yöntemleri veya cmdlet'iniAdd-Member
kullanarak alır. - Tüm. Temel, Uyarlanmış ve Genişletilmiş görünümlerdeki üyeleri alır.
View 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 View parametrelerini kullanırsanız, Get-Member
her iki kümeye de ait olan üyeleri alır. Aynı komutta Static ve View parametrelerini kullanırsanız View parametresi yoksayılır.
Tür: | PSMemberViewTypes |
Kabul edilen değerler: | Extended, Adapted, Base, All |
Position: | Named |
Default value: | Adapted, Extended |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
Girişler
Herhangi bir nesneyi bu cmdlet'e yöneltebilirsiniz.
Çıkışlar
Bu cmdlet, aldığı her özellik veya yöntem için bir MemberDefinition döndürür.
Notlar
PowerShell için aşağıdaki diğer adları Get-Member
içerir:
- Tüm platformlar:
gm
Bir koleksiyon nesnesi hakkında InputObject parametresini kullanarak veya virgülden Get-Member
önce gelen nesneyi öğesine getirerek 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 nesnenin örneğine başvurur. Değişken hakkında $This
daha fazla bilgi için bkz . about_Automatic_Variables.
Gibi [int]
Get-Member
bir tür değişmez değeri gibi bir türü temsil eden bir nesne geçirirseniz, tür hakkında [System.RuntimeType]
bilgi döndürür. Ancak, Static parametresini kullandığınızda, Get-Member
örnek tarafından temsil edilen belirli türün statik üyelerini System.RuntimeType
döndürür.
İlişkili Bağlantılar
PowerShell