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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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: Koneksi (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.)
Type:AuthenticationLevel
Accepted values:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Class

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

Type:String
Aliases:ClassName
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String[]
Aliases:Cn
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Menentukan akun pengguna yang memiliki izin untuk melakukan tindakan ini. Defaultnya adalah pengguna saat ini. Ketik nama pengguna, seperti User01, , Domain01\User01atau 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.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DirectRead

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableAllPrivileges

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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'"

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.
Type:ImpersonationLevel
Accepted values:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Locale

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Aliases:NS
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Property

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

Type:String[]
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Query

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

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Recurse

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ThrottleLimit

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

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 .