Bagikan melalui


Get-Member

Mendapatkan properti dan metode objek.

Sintaks

Default (Default)

Get-Member
    [-InputObject <PSObject>]
    [[-Name] <String[]>]
    [-MemberType <PSMemberTypes>]
    [-View <PSMemberViewTypes>]
    [-Static]
    [-Force]
    [<CommonParameters>]

Deskripsi

cmdlet Get-Member mendapatkan anggota, properti dan metode, objek.

Untuk menentukan objek, gunakan parameter InputObject atau pipa objek untuk Get-Member. Untuk mendapatkan informasi tentang anggota statis, anggota kelas, bukan instans, gunakan parameter Statis . Untuk mendapatkan hanya jenis anggota tertentu, seperti NoteProperties, gunakan parameter MemberType .

Get-Member mengembalikan daftar anggota yang diurutkan menurut abjad. Metode dicantumkan terlebih dahulu, diikuti oleh properti.

Contoh

Contoh 1: Mendapatkan anggota objek proses

Perintah ini menampilkan properti dan metode objek layanan yang dihasilkan oleh cmdlet Get-Service.

Karena bagian Get-Member dari perintah tidak memiliki parameter apa pun, perintah tersebut menggunakan nilai default untuk parameter. Secara default, Get-Member tidak mendapatkan anggota statis atau intrinsik.

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();

Contoh 2: Mendapatkan anggota objek layanan

Contoh ini mendapatkan semua anggota (properti dan metode) objek layanan yang diambil oleh cmdlet Get-Service, termasuk anggota intrinsik, seperti psbase, psobject, dan metode get_ dan set_.

Get-Service | Get-Member -Force
(Get-Service Schedule).psbase

Perintah Get-Member menggunakan parameter Force untuk menambahkan anggota intrinsik dan anggota objek yang dihasilkan kompilator ke tampilan. Anda dapat menggunakan properti dan metode ini dengan cara yang sama seperti Anda akan menggunakan metode objek yang disesuaikan. Perintah kedua menunjukkan cara menampilkan nilai properti psbase dari layanan Jadwal. Untuk informasi selengkapnya tentang anggota intrinsik, lihat about_Intrinsic_Members

Contoh 3: Mendapatkan anggota objek layanan yang diperluas

Contoh ini mendapatkan metode dan properti objek layanan yang diperluas menggunakan file Types.ps1xml atau cmdlet Add-Member.

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();

Perintah Get-Member menggunakan parameter Lihat untuk mendapatkan hanya anggota objek layanan yang diperluas. Dalam hal ini, anggota yang diperluas adalah properti Nama, yang merupakan properti alias dari properti ServiceName.

Contoh 4: Mendapatkan properti skrip objek log peristiwa

Contoh ini mendapatkan properti skrip objek log peristiwa di log Sistem di Pemeriksa Peristiwa.

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

Parameter MemberType hanya mendapatkan objek dengan nilai NoteProperty untuk properti MemberType mereka.

Perintah mengembalikan properti Pesan dari objek EventLogRecord.

Contoh 5: Mendapatkan objek dengan properti tertentu

Contoh ini mendapatkan objek yang memiliki properti MachineName dalam output dari daftar cmdlet.

Variabel $list berisi daftar cmdlet yang akan dievaluasi. Pernyataan foreach memanggil setiap perintah dan mengirim hasilnya ke Get-Member. Parameter Nama membatasi hasil dari Get-Member ke anggota yang memiliki nama MachineName.

$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;}

Hasilnya menunjukkan bahwa hanya objek proses dan objek layanan yang memiliki properti MachineName.

Contoh 6: Mendapatkan anggota untuk array

Contoh ini menunjukkan cara menemukan anggota array objek. Saat Anda menyalurkan dan array objek ke Get-Member, cmdlet mengembalikan daftar anggota untuk setiap jenis objek unik dalam array. Jika Anda meneruskan array menggunakan parameter InputObject, array diperlakukan sebagai objek tunggal.

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

Variabel $array berisi objek Int32 dan objek string, seperti yang terlihat ketika array disalurkan ke Get-Member. Saat $array diteruskan menggunakan parameter InputObjectGet-Member mengembalikan anggota jenis Object[] .

Contoh 7: Tentukan properti objek mana yang dapat Anda atur

Contoh ini menunjukkan cara menentukan properti objek mana yang dapat diubah.

$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

Contoh 8: Mencantumkan properti objek dalam urutan pembuatannya

Contoh ini membuat PSObject baru dan menambahkan properti ke dalamnya. Get-Member mencantumkan properti dalam urutan alfabet. Untuk melihat properti dalam urutan ditambahkan ke objek, Anda harus menggunakan psobject anggota intrinsik.

$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

Parameter

-Force

Menambahkan anggota intrinsik dan metode get_ dan set_ yang dihasilkan kompilator ke tampilan. Daftar berikut ini menjelaskan properti yang ditambahkan saat Anda menggunakan parameter Force :

  • psbase: Properti asli objek .NET tanpa ekstensi atau adaptasi. Ini adalah properti yang ditentukan untuk kelas objek.
  • psadapted: Properti dan metode yang ditentukan dalam sistem jenis powerShell yang diperluas.
  • psextended: Properti dan metode yang ditambahkan dalam file Types.ps1xml atau menggunakan cmdlet Add-Member.
  • psobject: Adaptor yang mengonversi objek dasar ke objek PowerShell PSObject.
  • pstypenames: Daftar jenis objek yang menjelaskan objek, dalam urutan kekhususan. Saat memformat objek, PowerShell mencari jenis dalam file Format.ps1xml di direktori penginstalan PowerShell ($PSHOME). Ini menggunakan definisi pemformatan untuk jenis pertama yang ditemukannya.

Secara default, Get-Member mendapatkan properti ini di semua tampilan kecuali Dasar dan Disesuaikan, tetapi tidak menampilkannya.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-InputObject

Menentukan objek yang anggotanya diambil.

Menggunakan parameter InputObject tidak sama dengan pipa objek ke Get-Member. Perbedaannya adalah sebagai berikut:

  • Saat Anda menyalurkan kumpulan objek ke Get-Member, Get-Member mendapatkan anggota objek individual dalam koleksi, seperti properti setiap string dalam array string.
  • Saat Anda menggunakan InputObject untuk mengirimkan kumpulan objek, Get-Member mendapatkan anggota koleksi, seperti properti array dalam array string.

Properti parameter

Jenis:PSObject
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-MemberType

Menentukan tipe anggota yang didapat cmdlet ini. Defaultnya adalah All.

Nilai yang dapat diterima untuk parameter ini adalah:

  • AliasProperty
  • CodeProperty
  • Property
  • NoteProperty
  • ScriptProperty
  • Properties
  • PropertySet
  • Method
  • CodeMethod
  • ScriptMethod
  • Methods
  • ParameterizedProperty
  • MemberSet
  • Event
  • Dynamic
  • All

Nilai-nilai ini didefinisikan sebagai enumerasi berbasis bendera. Anda dapat menggabungkan beberapa nilai bersama-sama untuk mengatur beberapa bendera menggunakan parameter ini. Nilai dapat diteruskan ke parameter MemberType sebagai array nilai atau sebagai string yang dipisahkan koma dari nilai tersebut. Cmdlet akan menggabungkan nilai menggunakan operasi biner-OR. Meneruskan nilai sebagai array adalah opsi paling sederhana dan juga memungkinkan Anda menggunakan penyelesaian tab pada nilai.

Untuk informasi tentang nilai-nilai ini, lihat Enumerasi PSMemberTypes.

Tidak semua objek memiliki setiap jenis anggota. Jika Anda menentukan jenis anggota yang tidak dimiliki objek, PowerShell mengembalikan nilai null. Untuk mendapatkan jenis anggota terkait, seperti semua anggota yang diperluas, gunakan parameter Tampilan . Jika Anda menggunakan parameter MemberType dengan parameter statis atau Lihat, Get-Member mendapatkan anggota yang termasuk dalam kedua set.

Properti parameter

Jenis:PSMemberTypes
Nilai default:None
Nilai yang diterima:AliasProperty, CodeProperty, Property, NoteProperty, ScriptProperty, Properties, PropertySet, Method, CodeMethod, ScriptMethod, Methods, ParameterizedProperty, MemberSet, Event, Dynamic, All
Mendukung wildcard:False
DontShow:False
Alias:Tipe

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Name

Menentukan nama satu atau beberapa properti atau metode objek. Get-Member hanya mendapatkan properti dan metode yang ditentukan.

Jika Anda menggunakan parameter Nama dengan parameter MemberType, Lihat, atau Statis, Get-Member hanya mendapatkan anggota yang memenuhi kriteria semua parameter.

Untuk mendapatkan anggota statis berdasarkan nama, gunakan parameter Statis dengan parameter Nama .

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:0
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Static

Menunjukkan bahwa cmdlet ini hanya mendapatkan properti statis dan metode objek. Properti statis dan metode didefinisikan pada kelas objek, bukan pada instans kelas tertentu.

Jika Anda menggunakan parameter Statis dengan parameter View atau Force, cmdlet mengabaikan parameter tersebut. Jika Anda menggunakan parameter Statis dengan parameter MemberType, Get-Member hanya mendapatkan anggota yang termasuk dalam kedua set.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-View

Menentukan bahwa cmdlet ini hanya mendapatkan properti dan metode jenis tertentu. Tentukan satu atau beberapa nilai. Defaultnya adalah Adapted, Extended.

Nilai yang dapat diterima untuk parameter ini adalah:

  • Dasar. Hanya mendapatkan properti dan metode asli objek .NET (tanpa ekstensi atau adaptasi).
  • Disesuaikan. Hanya mendapatkan properti dan metode yang ditentukan dalam sistem jenis powerShell yang diperluas.
  • Diperpanjang. Hanya mendapatkan properti dan metode yang ditambahkan dalam file Types.ps1xml atau dengan menggunakan cmdlet Add-Member.
  • Semua. Mendapatkan anggota di tampilan Dasar, Diadaptasi, dan Diperluas.

Parameter Tampilan menentukan anggota yang diambil, bukan hanya tampilan anggota tersebut.

Untuk mendapatkan jenis anggota tertentu, seperti properti skrip, gunakan parameter MemberType . Jika Anda menggunakan parameter MemberType dan Tampilkan dalam perintah yang sama, Get-Member mendapatkan anggota yang termasuk dalam kedua set. Jika Anda menggunakan parameter Statis dan Tampilkan dalam perintah yang sama, parameter Tampilan diabaikan.

Properti parameter

Jenis:PSMemberViewTypes
Nilai default:Adapted, Extended
Nilai yang diterima:Extended, Adapted, Base, All
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

CommonParameters

Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.

Input

PSObject

Anda dapat menyalurkan objek apa pun ke cmdlet ini.

Output

MemberDefinition

Cmdlet ini mengembalikan MemberDefinition untuk setiap properti atau metode yang didapatkannya.

Catatan

PowerShell menyertakan alias berikut untuk Get-Member:

  • Semua platform:
    • gm

Anda bisa mendapatkan informasi tentang objek koleksi baik menggunakan parameter InputObject atau dengan mempipa objek, yang didahului oleh koma, untuk Get-Member.

Anda dapat menggunakan variabel otomatis $this dalam blok skrip yang menentukan nilai properti dan metode baru. Variabel $this mengacu pada instans objek tempat properti dan metode ditambahkan. Untuk informasi selengkapnya tentang variabel $this, lihat about_Automatic_Variables.

Jika Anda meneruskan objek yang mewakili jenis , seperti jenis harfiah seperti [int], Get-Member mengembalikan informasi tentang jenis [System.RuntimeType]. Namun, saat Anda menggunakan parameter Statis, Get-Member mengembalikan anggota statis dari jenis tertentu yang diwakili oleh instans System.RuntimeType.