Pastikan untuk membaca artikel sebelumnya dalam rangkaian:
- Pelajari Cara Mengotomatiskan Windows dengan PowerShell
- Belajar Menggunakan Cmdlet di PowerShell
- Mempelajari Cara Menggunakan Objek di PowerShell
- Belajar Memformat, Memfilter dan Membandingkan dalam PowerShell
- Belajar Menggunakan Remoting di PowerShell
Dan nantikan terus sisa serial ini sepanjang minggu.
pengantar
WMI adalah singkatan dari Windows Management Instrumentation. Kata "Instrumentasi" mengacu pada fakta bahwa WMI memungkinkan Anda untuk memperoleh informasi tentang keadaan internal komputer Anda, seperti instrumen dasbor di mobil Anda dapat mengambil dan menampilkan informasi tentang keadaan komponen internal mobil Anda.
WMI terdiri dari repositori yang berisi kelas-kelas yang mewakili komponen yang dapat dikelola di dalam mesin Anda. Maksud kami hanya karena WMI memiliki kelas Win32_Battery tidak berarti bahwa mesin Anda berisi baterai. Kelas-kelas ini kemudian dapat ditanyakan untuk informasi secara lokal atau bahkan di seluruh jaringan menggunakan bahasa query yang sangat mirip dengan SQL yang disebut WQL. Namun, WMI telah diketahui sangat tidak dapat diandalkan, sebagian besar karena fakta bahwa ini didasarkan pada RPC (Remote Procedure Calls), yang melakukan beberapa hal gila dengan port yang mereka pilih untuk berkomunikasi.
Dimulai dengan Windows 8 dan Server 2012, WMI sedang dihapus demi Model Informasi Umum atau CIM untuk jangka pendek. Satu-satunya perbedaan antara WMI dan CIM adalah protokol transport yang mereka gunakan. Sementara WMI melakukan kueri menggunakan Remote Procedure Calls, CIM menggunakan HTTP, yang tampaknya membuat perbedaan besar. Pada backend, mereka masih berbicara dengan repositori informasi yang sama.
Menggunakan WMI
Cara tercepat dan termudah untuk menjelajahi informasi yang tersedia untuk Anda melalui WMI adalah dengan mengambil salinan WMI Object Browser gratis. Kami suka yang ini. Setelah diunduh, aktifkan dan Anda akan memiliki antarmuka grafis untuk menjelajahi Kelas WMI.
Di bagian bawah aplikasi, Anda dapat melihat kami memiliki dua contoh kelas.
Get-WmiObject -Query “SELECT * FROM Win32_LogicalDisk”
Get-WmiObject –Class Win32_LogicalDisk
Get-WmiObject -Class Win32_LogicalDisk -ComputerName Viper –Credential viperadministrator
Menggunakan CIM
Perlu diingat bahwa CIM hanya tersedia di Windows 8 dan Server 2012, bergerak maju ini pasti cara untuk pergi.
Get-CimInstance –ClassName Win32_LogicalDisk
Bahkan, WMI dikembangkan oleh tim yang benar-benar terpisah dalam Microsoft, tetapi kemudian diambil alih oleh orang-orang yang bertanggung jawab atas PowerShell. Mereka adalah orang-orang yang memperhatikan bahwa akan sangat sulit untuk membersihkan kekacauan yang ditinggalkan WMI. Dalam upaya untuk memperbaiki situasi, mereka mencoba membuat WMI dan CIM lebih tersedia dengan menulis cmdlet wrapper yang menggunakan WMI dan CIM di bawah kap mesin. Satu-satunya cara untuk memeriksa apakah cmdlet adalah pembungkus adalah dengan melihat dokumentasi. Misalnya, cmdlet Get-Hotfix adalah pembungkus untuk kelas Win32_QuickFixEngineering, seperti yang terlihat dalam dokumentasi.
Get-HotFix –ComputerName localhost