Bagikan melalui


Get-WmiObject

Mendapatkan instans kelas atau informasi Windows Management Instrumentation (WMI) tentang kelas yang tersedia.

Sintaks

query (Default)

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

list

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

WQLQuery

Get-WmiObject
    -Query <String>
    [-Amended]
    [-DirectRead]
    [-AsJob]
    [-Impersonation <ImpersonationLevel>]
    [-Authentication <AuthenticationLevel>]
    [-Locale <String>]
    [-EnableAllPrivileges]
    [-Authority <String>]
    [-Credential <PSCredential>]
    [-ThrottleLimit <Int32>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [<CommonParameters>]

class

Get-WmiObject
    [-Amended]
    [-AsJob]
    [-Impersonation <ImpersonationLevel>]
    [-Authentication <AuthenticationLevel>]
    [-Locale <String>]
    [-EnableAllPrivileges]
    [-Authority <String>]
    [-Credential <PSCredential>]
    [-ThrottleLimit <Int32>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [<CommonParameters>]

path

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.

Cmdlet Get-WmiObject 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).

Cmdlet Get-WmiObject 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 kembalikan memiliki PSComputerName alias. 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 di 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 cmdlet Format-List, yang menambahkan properti PSComputerName ke output default. PSComputerName adalah alias properti __Server objek yang Get-WmiObject kembalikan. 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 WMI Win32_Service pada objek tersebut.

(Get-WmiObject -Class Win32_Service -Filter "name='WinRM'" -ComputerName Server01).StopService()

Ini setara dengan menggunakan cmdlet Stop-Service.

Contoh 6: Dapatkan BIOS di komputer lokal

Contoh ini mendapatkan informasi BIOS dari komputer lokal. Parameter Properti cmdlet digunakan untuk menampilkan semua properti objek yang dikembalikan dalam daftar. Secara default, hanya subset properti yang ditentukan dalam file konfigurasi Types.ps1xml 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 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

Nota

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.

Properti parameter

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

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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 benda Job. Untuk mendapatkan hasil pekerjaan, gunakan cmdlet Receive-Job.

Untuk informasi selengkapnya tentang pekerjaan latar belakang Windows PowerShell, lihat about_Jobs dan about_Remote_Jobs.

Properti parameter

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

Kumpulan parameter

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

-Authentication

Menentukan tingkat autentikasi yang akan digunakan dengan koneksi WMI. Nilai yang valid adalah:

  • -1: tidak berubah
  • 0: Default
  • 1: Tidak Ada (Tidak ada autentikasi yang dilakukan.)
  • 2: Connect (Autentikasi dilakukan hanya ketika klien membuat hubungan dengan aplikasi.)
  • 3: Panggilan (Autentikasi hanya dilakukan 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.)

Properti parameter

Jenis:AuthenticationLevel
Nilai default:None
Nilai yang diterima:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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.

Properti parameter

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

Kumpulan parameter

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

-Class

Menentukan nama kelas WMI. Ketika parameter ini digunakan, cmdlet mengambil instans kelas WMI.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:ClassName

Kumpulan parameter

query
Position:1
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
list
Position:1
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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 ComputerNameGet-WmiObject meskipun komputer Anda tidak dikonfigurasi untuk menjalankan perintah jarak jauh WS-Management.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:Cn

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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 cmdlet . Saat Anda mengetik nama pengguna, Anda akan dimintai kata sandi. Kredensial tidak dapat digunakan ketika menargetkan komputer lokal.

Properti parameter

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

Kumpulan parameter

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

-DirectRead

Menentukan apakah akses langsung ke penyedia WMI diminta untuk kelas yang ditentukan tanpa memperhatikan kelas dasarnya atau kelas turunannya.

Properti parameter

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

Kumpulan parameter

query
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
WQLQuery
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-EnableAllPrivileges

Mengaktifkan semua hak istimewa pengguna saat ini sebelum perintah melakukan panggilan WMI.

Properti parameter

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

Kumpulan parameter

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

-Filter

Menentukan klausa Di mana digunakan sebagai filter. Menggunakan sintaks WMI Query Language (WQL).

Penting

Jangan sertakan kata kunci Di mana dalam nilai parameter. Misalnya, perintah berikut hanya mengembalikan disk logis yang memiliki DeviceID 'C:\ dan layanan yang memiliki nama 'WinRM' tanpa menggunakan kata kunci Where.

Get-WmiObject Win32_LogicalDisk -Filter "DeviceID = 'C:' "

Get-WmiObject Win32_Service -Filter "name='WinRM'"

Properti parameter

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

Kumpulan parameter

query
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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 Meniru.
  • 1: Anonim . Menyembunyikan kredensial pemanggil.
  • 2: Identifikasi. Memungkinkan objek untuk mengkueri kredensial pemanggil.
  • 3: Meniru. Memungkinkan objek menggunakan kredensial pemanggil.
  • 4: Delegasikan. Memungkinkan objek untuk mengizinkan objek lain menggunakan kredensial pemanggil.

Properti parameter

Jenis:ImpersonationLevel
Nilai default:None
Nilai yang diterima:Default, Anonymous, Identify, Impersonate, Delegate
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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 menggunakan namespace akar/CIMV2 secara default. Cmdlet ini tidak menggunakan entri Default Namespace registri di kunci registri HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\Scripting untuk menentukan namespace default.

Properti parameter

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

Kumpulan parameter

list
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Locale

Menentukan lokal pilihan untuk objek WMI. Masukkan nilai dalam format MS_<LCID>.

Properti parameter

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

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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 tersebut menentukan namespace layanan untuk mengumpulkan informasi kelas WMI.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:NS

Kumpulan parameter

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

-Property

Menentukan properti kelas WMI tempat cmdlet ini mendapatkan informasi. Masukkan nama properti.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

query
Position:1
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Query

Menjalankan pernyataan WMI Query Language (WQL) yang ditentukan. Parameter ini tidak mendukung kueri peristiwa.

Properti parameter

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

Kumpulan parameter

WQLQuery
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Recurse

Mencari namespace saat ini dan semua namespace lainnya untuk nama kelas yang ditentukan oleh parameter Kelas .

Properti parameter

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

Kumpulan parameter

list
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-ThrottleLimit

Menentukan jumlah maksimum operasi WMI yang dapat dijalankan secara bersamaan. Parameter ini hanya valid ketika parameter AsJob digunakan dalam perintah .

Properti parameter

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

Kumpulan 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

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 kembalikan 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 file konfigurasi Types.ps1xml. Untuk mendapatkan semua properti objek WMI, gunakan cmdlet Get-Member atau Format-List.