Get-WmiObject
Mendapatkan instans kelas atau informasi Windows Management Instrumentation (WMI) tentang kelas yang tersedia.
Sintaks
Get-WmiObject
[-Class] <String>
[[-Property] <String[]>]
[-Filter <String>]
[-Amended]
[-DirectRead]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Get-WmiObject
[[-Class] <String>]
[-Recurse]
[-Amended]
[-List]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Get-WmiObject
[-Amended]
[-DirectRead]
-Query <String>
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Get-WmiObject
[-Amended]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Get-WmiObject
[-Amended]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Deskripsi
Mulai dari PowerShell 3.0, cmdlet ini telah digantikan oleh Get-CimInstance
.
Get-WmiObject
Cmdlet mendapatkan instans kelas atau informasi WMI tentang kelas WMI yang tersedia. Untuk menentukan komputer jarak jauh, gunakan parameter ComputerName . Jika parameter Daftar ditentukan, cmdlet mendapatkan informasi tentang kelas WMI yang tersedia di namespace yang ditentukan. Jika parameter Kueri ditentukan, cmdlet menjalankan pernyataan bahasa kueri WMI (WQL).
Get-WmiObject
Cmdlet tidak menggunakan jarak jauh Windows PowerShell untuk melakukan operasi jarak jauh.
Anda dapat menggunakan parameter ComputerName cmdlet Get-WmiObject
meskipun komputer Anda tidak memenuhi persyaratan untuk jarak jauh Windows PowerShell atau tidak dikonfigurasi untuk jarak jauh di Windows PowerShell.
Dimulai di Windows PowerShell 3.0, properti __Server objek yang Get-WmiObject
mengembalikan memiliki alias PSComputerName . Ini membuatnya lebih mudah untuk menyertakan nama komputer sumber dalam output dan laporan.
Contoh
Contoh 1: Mendapatkan proses di komputer lokal
Contoh ini mendapatkan proses di komputer lokal.
Get-WmiObject -Class Win32_Process
Contoh 2: Mendapatkan layanan di komputer jarak jauh
Contoh ini mendapatkan layanan di komputer jarak jauh. Parameter ComputerName menentukan alamat IP komputer jarak jauh. Secara default, akun pengguna saat ini harus menjadi anggota grup Administrator pada komputer jarak jauh.
Get-WmiObject -Class Win32_Service -ComputerName 10.1.4.62
Contoh 3: Mendapatkan kelas WMI di namespace layanan akar atau default komputer lokal
Contoh ini mendapatkan kelas WMI di namespace layanan akar atau default komputer lokal.
Get-WmiObject -Namespace "root/default" -List
Contoh 4: Mendapatkan layanan bernama di beberapa komputer
Contoh ini mendapatkan layanan WinRM di komputer yang ditentukan oleh nilai parameter ComputerName .
Get-WmiObject -Query "select * from win32_service where name='WinRM'" -ComputerName Server01, Server02 |
Format-List -Property PSComputerName, Name, ExitCode, Name, ProcessID, StartMode, State, Status
PSComputerName : SERVER01
Name : WinRM
ExitCode : 0
Name : WinRM
ProcessID : 844
StartMode : Auto
State : Running
Status : OK
PSComputerName : SERVER02
Name : WinRM
ExitCode : 0
Name : WinRM
ProcessID : 932
StartMode : Auto
State : Running
Status : OK
Operator alur (|
) mengirim output ke Format-List
cmdlet, yang menambahkan properti PSComputerName ke output default. PSComputerName adalah alias dari properti __Server objek yang Get-WmiObject
dikembalikan. Alias ini diperkenalkan di PowerShell 3.0.
Contoh 5: Menghentikan layanan di komputer jarak jauh
Contoh ini menghentikan layanan WinRM pada komputer jarak jauh. Get-WmiObject
mendapatkan instans objek layanan WinRM di Server01. Kemudian, ia memanggil metode StopService dari kelas Win32_Service WMI pada objek tersebut.
(Get-WmiObject -Class Win32_Service -Filter "name='WinRM'" -ComputerName Server01).StopService()
Ini setara dengan menggunakan Stop-Service
cmdlet.
Contoh 6: Dapatkan BIOS di komputer lokal
Contoh ini mendapatkan informasi BIOS dari komputer lokal. Parameter Properti cmdlet Format-List
digunakan untuk menampilkan semua properti objek yang dikembalikan dalam daftar. Secara default, hanya subset properti yang ditentukan dalam Types.ps1xml
file konfigurasi yang ditampilkan.
Get-WmiObject -Class Win32_Bios | Format-List -Property *
Status : OK
Name : Phoenix ROM BIOS PLUS Version 1.10 A05
Caption : Phoenix ROM BIOS PLUS Version 1.10 A05
SMBIOSPresent : True
__GENUS : 2
__CLASS : Win32_BIOS
__SUPERCLASS : CIM_BIOSElement
__DYNASTY : CIM_ManagedSystemElement
__RELPATH : Win32_BIOS.Name="Phoenix ROM BIOS PLUS Version 1.10
__PROPERTY_COUNT : 27
__DERIVATION : {CIM_BIOSElement, CIM_SoftwareElement, CIM_LogicalElement,
__SERVER : Server01
__NAMESPACE : root\cimv2
__PATH : \\SERVER01\root\cimv2:Win32_BIOS.Name="Phoenix ROM BIOS
BiosCharacteristics : {7, 9, 10, 11...}
BIOSVersion : {DELL - 15, Phoenix ROM BIOS PLUS Version 1.10 A05}
BuildNumber :
CodeSet :
CurrentLanguage : en|US|iso8859-1
Description : Phoenix ROM BIOS PLUS Version 1.10 A05
IdentificationCode :
InstallableLanguages : 1
InstallDate :
LanguageEdition :
ListOfLanguages : {en|US|iso8859-1}
Manufacturer : Dell Inc.
OtherTargetOS :
PrimaryBIOS : True
ReleaseDate : 20101103000000.000000+000
SerialNumber : 8VDM9P1
SMBIOSBIOSVersion : A05
SMBIOSMajorVersion : 2
SMBIOSMinorVersion : 6
SoftwareElementID : Phoenix ROM BIOS PLUS Version 1.10 A05
SoftwareElementState : 3
TargetOperatingSystem : 0
Version : DELL - 15
Scope : System.Management.ManagementScope
Path : \\SERVER01\root\cimv2:Win32_BIOS.Name="Phoenix ROM BIOS
Options : System.Management.ObjectGetOptions
ClassPath : \\JUNE-PC\root\cimv2:Win32_BIOS
Properties : {BiosCharacteristics, BIOSVersion, BuildNumber, Caption...}
SystemProperties : {__GENUS, __CLASS, __SUPERCLASS, __DYNASTY...}
Qualifiers : {dynamic, Locale, provider, UUID}
Site :
Container :
Contoh 7: Mendapatkan layanan di komputer jarak jauh
Contoh ini menggunakan parameter Kredensial cmdlet Get-WmiObject
untuk mendapatkan layanan di komputer jarak jauh. Nilai parameter Kredensial adalah nama akun pengguna. Pengguna dimintai kata sandi.
Get-WmiObject Win32_Service -Credential FABRIKAM\administrator -ComputerName Fabrikam
Catatan
Kredensial tidak dapat digunakan ketika menargetkan komputer lokal.
Parameter
-Amended
Mendapatkan atau menetapkan nilai yang menunjukkan apakah objek yang dikembalikan dari WMI harus berisi informasi yang diubah. Biasanya, informasi yang diubah adalah informasi yang dapat dilokalkan, seperti deskripsi objek dan properti, yang dilampirkan ke objek WMI.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-AsJob
Menjalankan perintah sebagai pekerjaan latar belakang. Gunakan parameter ini untuk menjalankan perintah yang membutuhkan waktu lama untuk diselesaikan.
Saat Anda menggunakan parameter AsJob , perintah mengembalikan objek yang mewakili pekerjaan latar belakang lalu menampilkan prompt perintah. Anda dapat terus bekerja dalam sesi saat pekerjaan selesai. Jika Get-WmiObject
digunakan dengan parameter ComputerName , pekerjaan dibuat di komputer lokal, dan hasil dari komputer jarak jauh secara otomatis dikembalikan ke komputer lokal. Untuk mengelola pekerjaan, gunakan cmdlet yang berisi kata Job
benda. Untuk mendapatkan hasil pekerjaan, gunakan Receive-Job
cmdlet .
Untuk informasi selengkapnya tentang pekerjaan latar belakang Windows PowerShell, lihat about_Jobs dan about_Remote_Jobs.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Authentication
Menentukan tingkat autentikasi yang akan digunakan dengan koneksi WMI. Nilai yang valid adalah:
-1
: Tidak berubah0
: Default1
: Tidak ada (Tidak ada autentikasi yang dilakukan.)2
: Sambungkan (Autentikasi dilakukan hanya ketika klien membuat hubungan dengan aplikasi.)3
: Panggilan (Autentikasi dilakukan hanya di awal setiap panggilan saat aplikasi menerima permintaan.)4
: Paket (Autentikasi dilakukan pada semua data yang diterima dari klien.)5
: PacketIntegrity (Semua data yang ditransfer antara klien dan aplikasi diautentikasi dan diverifikasi.)6
: PacketPrivacy (Properti tingkat autentikasi lainnya digunakan, dan semua data dienkripsi.)
Jenis: | AuthenticationLevel |
Nilai yang diterima: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Authority
Menentukan otoritas yang akan digunakan untuk mengautentikasi koneksi WMI. Anda dapat menentukan autentikasi NTLM atau Kerberos standar. Untuk menggunakan NTLM, atur pengaturan otoritas ke ntlmdomain:<DomainName>
, di mana <DomainName>
mengidentifikasi nama domain NTLM yang valid. Untuk menggunakan Kerberos, tentukan kerberos:<DomainName>\<ServerName>
. Anda tidak dapat menyertakan pengaturan otoritas ketika Anda tersambung ke komputer lokal.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Class
Menentukan nama kelas WMI. Ketika parameter ini digunakan, cmdlet mengambil instans kelas WMI.
Jenis: | String |
Alias: | ClassName |
Position: | 1 |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ComputerName
Menentukan komputer target untuk operasi manajemen. Masukkan nama domain yang sepenuhnya memenuhi syarat (FQDN), nama NetBIOS, atau alamat IP. Ketika komputer jarak jauh berada di domain yang berbeda dari komputer lokal, nama domain yang sepenuhnya memenuhi syarat diperlukan.
Defaultnya adalah komputer lokal. Untuk menentukan komputer lokal, seperti dalam daftar nama komputer, gunakan localhost
, nama komputer lokal, atau titik (.
).
Saat menentukan komputer jarak jauh, akun Anda saat ini atau yang Anda tentukan dengan parameter Kredensial harus memiliki izin yang sesuai untuk mengakses informasi.
Parameter ini tidak bergantung pada jarak jauh Windows PowerShell, yang menggunakan WS-Management. Anda dapat menggunakan parameter Get-WmiObject
ComputerName meskipun komputer Anda tidak dikonfigurasi untuk menjalankan perintah jarak jauh WS-Management.
Jenis: | String[] |
Alias: | Cn |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Credential
Menentukan akun pengguna yang memiliki izin untuk melakukan tindakan ini. Defaultnya adalah pengguna saat ini. Ketik nama pengguna, seperti User01
, , Domain01\User01
atau User@Contoso.com
. Atau, masukkan objek PSCredential , seperti objek yang dikembalikan oleh Get-Credential
cmdlet. Saat Anda mengetik nama pengguna, Anda akan dimintai kata sandi. Kredensial tidak dapat digunakan ketika menargetkan komputer lokal.
Jenis: | PSCredential |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-DirectRead
Menentukan apakah akses langsung ke penyedia WMI diminta untuk kelas yang ditentukan tanpa memperhatikan kelas dasarnya atau kelas turunannya.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-EnableAllPrivileges
Mengaktifkan semua hak istimewa pengguna saat ini sebelum perintah melakukan panggilan WMI.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Filter
Menentukan klausa Where untuk digunakan sebagai filter. Menggunakan sintaks WMI Query Language (WQL).
Penting
Jangan sertakan kata kunci Where dalam nilai parameter . Misalnya, perintah berikut hanya mengembalikan disk logis yang memiliki DeviceID dan c:
layanan yang memiliki nama 'WinRM' tanpa menggunakan kata kunci Di mana.
Get-WmiObject Win32_LogicalDisk -filter "DeviceID = 'c:' "
Get-WmiObject win32_service -filter "name='WinRM'"
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Impersonation
Menentukan tingkat peniruan yang akan digunakan.
Nilai yang dapat diterima untuk parameter ini adalah:
0
: Default. Membaca registri lokal untuk tingkat peniruan default. Default biasanya diatur ke Impersonate.1
: Anonim. Menyembunyikan kredensial pemanggil.2
: Identifikasi. Memungkinkan objek untuk mengkueri kredensial pemanggil.3
: Meniru. Memungkinkan objek menggunakan kredensial pemanggil.4
: Delegasi. Memungkinkan objek untuk mengizinkan objek lain menggunakan kredensial pemanggil.
Jenis: | ImpersonationLevel |
Nilai yang diterima: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-List
Mendapatkan nama kelas WMI di namespace repositori WMI yang ditentukan oleh parameter Namespace .
Jika Anda menentukan parameter Daftar , tetapi bukan parameter Namespace , Get-WmiObject
gunakan namespace Root\Cimv2 secara default. Cmdlet ini tidak menggunakan entri registri Namespace Default di HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\Scripting
kunci registri untuk menentukan namespace default.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Locale
Menentukan lokal pilihan untuk objek WMI. Masukkan nilai dalam MS_<LCID>
format.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Namespace
Saat digunakan dengan parameter Kelas , parameter Namespace menentukan namespace repositori WMI tempat kelas WMI yang ditentukan berada. Saat digunakan dengan parameter Daftar , parameter menentukan namespace layanan untuk mengumpulkan informasi kelas WMI.
Jenis: | String |
Alias: | NS |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Property
Menentukan properti kelas WMI tempat cmdlet ini mendapatkan informasi. Masukkan nama properti.
Jenis: | String[] |
Position: | 1 |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Query
Menjalankan pernyataan WMI Query Language (WQL) yang ditentukan. Parameter ini tidak mendukung kueri peristiwa.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Recurse
Mencari namespace saat ini dan semua namespace lainnya untuk nama kelas yang ditentukan oleh parameter Kelas .
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ThrottleLimit
Menentukan jumlah maksimum operasi WMI yang dapat dijalankan secara bersamaan. Parameter ini hanya valid ketika parameter AsJob digunakan dalam perintah .
Jenis: | Int32 |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
None
Anda tidak dapat menyalurkan input ke Get-WmiObject
.
Output
PSObject or System.Management.Automation.RemotingJob
Saat Anda menggunakan parameter AsJob , cmdlet mengembalikan objek pekerjaan. Jika tidak, objek yang Get-WmiObject
mengembalikan tergantung pada nilai parameter Kelas .
Catatan
Windows PowerShell menyertakan alias berikut untuk Get-WmiObject
:
gwmi
Untuk mengakses informasi WMI di komputer jarak jauh, cmdlet harus berjalan di bawah akun yang merupakan anggota grup administrator lokal di komputer jarak jauh. Atau, kontrol akses default pada namespace layanan WMI repositori jarak jauh dapat diubah untuk memberikan hak akses ke akun lain.
Hanya beberapa properti dari setiap kelas WMI yang ditampilkan secara default. Kumpulan properti yang ditampilkan untuk setiap kelas WMI ditentukan dalam Types.ps1xml
file konfigurasi. Untuk mendapatkan semua properti objek WMI, gunakan Get-Member
cmdlet atau Format-List
.