Aracılığıyla paylaş


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.ps1xml dosyalarına eklenen veya Add-Member cmdlet'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) $PSHOME dosyaları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ğinizde Get-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-Member dize 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:

  • 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 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.ps1xml dosyalarına veya Add-Member cmdlet'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 Statik ve Görünüm parametrelerini kullanırsanız, Görünüm parametresi yoksayılır.

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.