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.

Ö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 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 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.

Ö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. foreach deyimi her komutu çağırır ve sonuçları öğesine Get-Membergönderir. Name parametresi, sonuçlarını Get-MemberMachineName 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-Memberkanalı 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 öğesine yöneltildiğinde Get-Membergörüldüğü gibi bir Int32 nesnesi ve bir dize nesnesi içerir. InputObject parametresi Get-Member kullanılarak geçirildiğinde $arrayObject[] 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

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 veya cmdlet'i Types.ps1xml kullanılarak Add-Member eklenen özellikler ve yöntemler.
  • PSObject. Temel nesneyi PowerShell PSObject nesnesine dönüştüren bağdaştırıcı.
  • PSTypeNames. Belirlilik sırasına göre nesneyi açıklayan nesne türlerinin listesi. Nesneyi biçimlendirirken PowerShell, PowerShell yükleme dizinindeki Format.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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Üyeleri alınan nesneyi belirtir.

InputObject parametresini kullanmak, bir nesneyi öğesine Get-Membergöndermekle aynı değildir. Farklar şunlardır:

  • Bir nesne koleksiyonunu öğesine Get-MemberGet-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
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-MemberType

Bu cmdlet'in aldığı üye türünü belirtir. Varsayılan değer Tümü'dür.

Bu parametrenin kabul edilebilir değerleri şunlardır:

  • AliasProperty
  • CodeProperty
  • Özellik
  • NoteProperty
  • ScriptProperty
  • Özellikler
  • PropertySet
  • Yöntem
  • CodeMethod
  • ScriptMethod
  • Yöntemler
  • ParameterizedProperty
  • MemberSet
  • Olay
  • Dinamik
  • Tümü

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
Required:False
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
Required:False
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
Required:False
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'ini Add-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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Girişler

PSObject

herhangi bir nesneyi öğesine yöneltebilirsiniz Get-Member.

Çıkışlar

MemberDefinition

Get-Member , aldığı her özellik veya yöntem için bir nesnesi döndürür.

Notlar

InputObject parametresini kullanarak veya önünde virgül Get-Memberbulunan 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.