Get-Member
Nesnelerin özelliklerini ve yöntemlerini alır.
Syntax
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 bir nesneyi öğesine yöneltin Get-Member
. Statik üyeler, örneğin değil sınıfın üyeleri hakkında bilgi almak için 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. Önce yöntemler, ardından özellikler listelenir.
Örnekler
Örnek 1: İşlem nesnelerinin üyelerini alma
Bu komut, cmdlet tarafından Get-Service
oluşturulan hizmet nesnelerinin özelliklerini ve yöntemlerini görüntüler.
Komutun Get-Member
bölümünde 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
görüntüye iç üyelerini ve nesnelerin derleyici tarafından oluşturulan üyelerini 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();
Komut, 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, Olay Görüntüleyicisi 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 MemberType özelliği için değerine NoteProperty
sahip nesneleri alır.
komut, 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. deyimi foreach
her komutu çağırır ve sonuçları öğesine Get-Member
gönderir. Name parametresi, sonuçlarını 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 nesne Get-Member
kanalı ve dizisi gönderdiğ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 Get-Member
öğesine yöneltildiğinde görüldüğü gibi bir Int32 nesnesi ve bir dize nesnesi içerir. InputObject parametresi Get-Member
kullanılarak geçirildiğinde $array
Object[] 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 yeni bir PSObject oluşturur ve bu nesneye ö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
görüntüye iç üyelerini ve derleyici tarafından oluşturulan get_ ve set_ yöntemlerini 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
: Özgüllük sırasına göre nesneyi 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 Base ve Adapted dışındaki tüm görünümlerde alır ancak görüntülemez.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Üyeleri alınan nesneyi belirtir.
InputObject parametresini kullanmak, bir nesneyi Get-Member
öğesine 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.
Type: | PSObject |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | 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 bayrağı ayarlamak için birden çok değeri birleştirebilirsiniz. Değerler MemberType parametresine bir değer dizisi veya bu değerlerin virgülle ayrılmış dizesi olarak geçirilebilir. cmdlet'i, değerleri bir binary-OR işlemi kullanarak birleştirir. Değerleri dizi olarak geçirmek en basit seçenektir ve değerlerde 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.
Type: | PSMemberTypes |
Aliases: | Type |
Accepted values: | AliasProperty, CodeProperty, Property, NoteProperty, ScriptProperty, Properties, PropertySet, Method, CodeMethod, ScriptMethod, Methods, ParameterizedProperty, MemberSet, Event, Dynamic, All |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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, Name parametresiyle Static parametresini kullanın.
Type: | String[] |
Position: | 0 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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 herhangi bir örneğinde değil, nesne sınıfında tanımlanır.
Static parametresini View parametresiyle kullanırsanız View parametresi yoksayılır.
Static parametresini MemberType parametresiyle kullanırsanız, Get-Member
yalnızca her iki kümeye ait üyeleri alır.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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:
- Temel. .NET nesnesinin yalnızca özgün özelliklerini ve yöntemlerini alır (uzantı veya uyarlama olmadan).
- Uyar -lanmış. Yalnızca PowerShell genişletilmiş tür sisteminde tanımlanan özellikleri ve yöntemleri alır.
- Genişletilmiş. Yalnızca bir
Types.ps1xml
dosyaya veya cmdlet'iniAdd-Member
kullanarak eklenen özellikleri ve yöntemleri 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 ait üyeleri alır. Aynı komutta Static ve View parametrelerini kullanırsanız View parametresi yoksayılır.
Type: | PSMemberViewTypes |
Accepted values: | Extended, Adapted, Base, All |
Position: | Named |
Default value: | Adapted, Extended |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Girişler
Herhangi bir nesneyi bu cmdlet'e geçirebilirsiniz.
Çıkışlar
Bu cmdlet, aldığı her özellik veya yöntem için bir MemberDefinition döndürür.
Notlar
PowerShell, için Get-Member
aşağıdaki diğer adları içerir:
- Tüm platformlar:
gm
InputObject parametresini kullanarak veya önünde virgül Get-Member
bulunan nesnesini öğesine getirerek bir 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 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ğerini temsil eden bir nesne geçirirseniz, tür hakkındaki [System.RuntimeType]
bilgileri 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
Geri Bildirim
Gönderin ve geri bildirimi görüntüleyin