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 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-Membergö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-Memberdizisi 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-Membergö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'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: Nesneyi belirlilik sırasına göre 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 Temel ve Uyarlanmış 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: 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.

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

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. Yalnızca .NET nesnesinin ö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 eklenen özellikleri ve yöntemleri veya cmdlet'ini Add-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.

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 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 için aşağıdaki diğer adları Get-Memberiç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.