Get-Member
Mendapatkan properti dan metode objek.
Sintaks
Get-Member
[-InputObject <PSObject>]
[[-Name] <String[]>]
[-MemberType <PSMemberTypes>]
[-View <PSMemberViewTypes>]
[-Static]
[-Force]
[<CommonParameters>]
Deskripsi
Get-Member
Cmdlet mendapatkan anggota, properti dan metode, objek.
Untuk menentukan objek, gunakan parameter InputObject atau pipa objek ke 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 Get-Service
cmdlet .
Get-Member
Karena bagian dari perintah tidak memiliki parameter apa pun, perintah 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 Get-Service
cmdlet, termasuk anggota intrinsik, seperti PSBase, PSObject, dan metode get_ dan set_ .
Get-Service | Get-Member -Force
(Get-Service Schedule).PSBase
Get-Member
Perintah 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 Types.ps1xml
file atau Add-Member
cmdlet .
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
Perintah menggunakan parameter Tampilan untuk hanya mendapatkan anggota objek layanan yang diperluas. Dalam hal ini, anggota yang diperluas adalah properti Nama , yang merupakan properti alias properti ServiceName .
Contoh 4: Mendapatkan properti skrip objek log peristiwa
Contoh ini mendapatkan properti skrip objek log peristiwa di log Sistem Pemantau 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 memanggil foreach
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 satu objek.
$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
. Ketika $array
diteruskan menggunakan parameter Get-Member
InputObject mengembalikan anggota jenis Object[].
Contoh 7: Menentukan 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 anggota intrinsik PSObject .
$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 Paksa :
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 dalamTypes.ps1xml
file atau menggunakanAdd-Member
cmdlet .PSObject
: Adaptor yang mengonversi objek dasar menjadi objek PSObject PowerShell.PSTypeNames
: Daftar jenis objek yang menjelaskan objek, dalam urutan kekhususan. Saat memformat objek, PowerShell mencari jenis dalamFormat.ps1xml
file 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 Diadaptasi, tetapi tidak menampilkannya.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Menentukan objek yang anggotanya diambil.
Menggunakan parameter InputObject tidak sama dengan mempipa objek ke Get-Member
. Berikut adalah perbedaannya:
- 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.
Type: | PSObject |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | 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 Tampilan , Get-Member
mendapatkan anggota milik kedua set.
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
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, View, atau Static , Get-Member
hanya mendapatkan anggota yang memenuhi kriteria semua parameter.
Untuk mendapatkan anggota statis berdasarkan nama, gunakan parameter Statis dengan parameter Nama .
Type: | String[] |
Position: | 0 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Static
Menunjukkan bahwa cmdlet ini hanya mendapatkan properti statis dan metode objek. Properti dan metode statis didefinisikan pada kelas objek, bukan pada instans kelas tertentu.
Jika Anda menggunakan parameter Statis dengan parameter Tampilan , parameter Tampilan diabaikan.
Jika Anda menggunakan parameter Statis dengan parameter MemberType , Get-Member
hanya mendapatkan anggota yang termasuk dalam kedua set.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-View
Menentukan bahwa cmdlet ini hanya mendapatkan properti dan metode jenis tertentu. Tentukan satu atau beberapa nilai. Defaultnya adalah Diadaptasi, Diperluas.
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 diperluas PowerShell.
- Diperpanjang. Hanya mendapatkan properti dan metode yang ditambahkan dalam
Types.ps1xml
file atau dengan menggunakanAdd-Member
cmdlet . - 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 View dalam perintah yang sama, Get-Member
mendapatkan anggota yang termasuk dalam kedua set. Jika Anda menggunakan parameter Statis dan Tampilan dalam perintah yang sama, parameter Tampilan diabaikan.
Type: | PSMemberViewTypes |
Accepted values: | Extended, Adapted, Base, All |
Position: | Named |
Default value: | Adapted, Extended |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
Anda dapat menyalurkan objek apa pun ke cmdlet ini.
Output
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, didahului oleh koma, hingga Get-Member
.
Anda dapat menggunakan $This
variabel otomatis 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 $This
variabel, lihat about_Automatic_Variables.
Jika Anda meneruskan objek yang mewakili jenis, seperti jenis harfiah seperti [int]
, Get-Member
mengembalikan informasi tentang jenis tersebut [System.RuntimeType]
. Namun, saat Anda menggunakan parameter Statis , Get-Member
mengembalikan anggota statis dari jenis tertentu yang diwakili oleh System.RuntimeType
instans.
Link Terkait
Saran dan Komentar
Kirim dan lihat umpan balik untuk