Cmdlet Invoke-WmiMethod memanggil metode objek Windows Management Instrumentation (WMI).
Cmdlet Common Information Model (CIM) baru, yang diperkenalkan di Windows PowerShell 3.0, melakukan tugas yang sama dengan cmdlet WMI. Cmdlet CIM mematuhi standar WS-Management (WSMan) dan dengan standar CIM, yang memungkinkan cmdlet menggunakan teknik yang sama untuk mengelola komputer Windows dan yang menjalankan sistem operasi lainnya. Alih-alih menggunakan Invoke-WmiMethod, pertimbangkan untuk menggunakan Invoke-CimMethod.
Contoh
Contoh 1: Mencantumkan urutan parameter metode WMI yang diperlukan
Perintah ini mencantumkan urutan objek yang diperlukan.
Perintah ini mengganti nama file. Ini menggunakan parameter Jalur untuk mereferensikan instans kelas CIM_DataFile. Kemudian, ini menerapkan metode Ganti Nama ke instans tertentu.
Properti ReturnValue diisi dengan 0 jika perintah selesai.
Contoh 4: Meneruskan array nilai menggunakan '-ArgumentList'
Contoh menggunakan array objek $binSD diikuti oleh nilai $null.
Menentukan parameter yang akan diteruskan ke metode yang disebut. Nilai parameter ini harus berupa array objek, dan harus muncul dalam urutan yang diperlukan oleh metode yang disebut. Cmdlet Invoke-CimCommand tidak memiliki batasan ini.
Untuk menentukan urutan untuk mencantumkan objek tersebut, jalankan metode GetMethodParameters() pada kelas WMI, seperti yang diilustrasikan dalam Contoh 1, di dekat akhir topik ini.
Penting
Jika nilai pertama adalah array yang berisi lebih dari satu elemen, nilai kedua $null diperlukan. Jika tidak, perintah menghasilkan kesalahan, seperti Unable to cast object of type 'System.Byte' to type 'System.Array'.. Lihat contoh 4 di atas.
Menunjukkan bahwa cmdlet ini 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 Invoke-WmiMethod digunakan terhadap komputer jarak jauh, pekerjaan dibuat pada komputer lokal, dan hasil dari komputer jarak jauh secara otomatis dikembalikan ke komputer lokal. Untuk mengelola pekerjaan, gunakan cmdlet yang berisi kata benda Job (cmdlet Pekerjaan). Untuk mendapatkan hasil pekerjaan, gunakan cmdlet Receive-Job.
Untuk menggunakan parameter ini dengan komputer jarak jauh, komputer lokal dan jarak jauh harus dikonfigurasi untuk jarak jauh. Selain itu, Anda harus memulai Windows PowerShell dengan menggunakan opsi Jalankan sebagai administrator di Windows Vista dan versi Windows yang lebih baru. Untuk informasi lebih lanjut, lihat about_Remote_Requirements.
Untuk informasi selengkapnya tentang pekerjaan latar belakang Windows PowerShell, lihat about_Jobs dan about_Remote_Jobs.
Menentukan otoritas yang akan digunakan untuk mengautentikasi koneksi WMI. Anda dapat menentukan autentikasi Windows NT LAN Manager (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.
Menentukan, sebagai array string, komputer tempat cmdlet ini menjalankan perintah. Defaultnya adalah komputer lokal.
Ketik nama NetBIOS, alamat IP, atau nama domain yang sepenuhnya memenuhi syarat dari satu atau beberapa komputer. Untuk menentukan komputer lokal, ketik nama komputer, titik (.), atau localhost.
Parameter ini tidak bergantung pada jarak jauh Windows PowerShell. Anda dapat menggunakan parameter ComputerName meskipun komputer Anda tidak dikonfigurasi untuk menjalankan perintah jarak jauh.
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.
Menentukan objek ManagementObject untuk digunakan sebagai input. Ketika parameter ini digunakan, semua parameter lain kecuali parameter Bendera dan Argumen diabaikan.
Menentukan jalur objek WMI dari kelas WMI, atau menentukan jalur objek WMI dari instans kelas WMI. Kelas atau instans yang Anda tentukan harus berisi metode yang ditentukan dalam parameter Nama .
Menentukan nilai pembatasan untuk jumlah operasi WMI yang dapat dijalankan secara bersamaan.
Parameter ini digunakan bersama dengan parameter AsJob. Batas pembatasan hanya berlaku untuk perintah saat ini, bukan ke sesi atau ke komputer.
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
Cmdlet ini tidak menerima input apa pun.
Output
None
Cmdlet ini tidak menghasilkan output apa pun.
Catatan
Windows PowerShell menyertakan alias berikut untuk Invoke-WmiMethod:
Sumber untuk konten ini dapat ditemukan di GitHub, yang juga dapat Anda gunakan untuk membuat dan meninjau masalah dan menarik permintaan. Untuk informasi selengkapnya, lihat panduan kontributor kami.