27Aug

Geek School: Menggunakan PowerShell untuk Mendapatkan Informasi Komputer

click fraud protection

WMI dan adik barunya CIM keduanya dapat digunakan untuk mengelola mesin Windows di lingkungan Anda. Tapi tahukah anda perbedaan antara mereka? Bergabunglah dengan kami saat kami melihat-lihat.

Pastikan untuk membaca artikel sebelumnya dalam seri:

  • Pelajari Cara Mengotomatiskan Windows dengan PowerShell
  • Belajar Menggunakan Cmdlet di PowerShell
  • Belajar Cara Menggunakan Objek di PowerShell
  • Belajar Memformat, Menyaring dan Membandingkan di PowerShell
  • Belajar Menggunakan Remoting diPowerShell

Dan tunggulah untuk sisa seri sepanjang minggu.

Pendahuluan

WMI adalah singkatan dari Windows Management Instrumentation. Kata "Instrumentasi" mengacu pada fakta bahwa WMI memungkinkan Anda memperoleh informasi tentang keadaan internal komputer Anda, sama seperti instrumen dasbor di mobil Anda dapat mengambil dan menampilkan informasi tentang keadaan komponen internal mobil Anda.

WMI terdiri dari repositori yang berisi kelas yang mewakili komponen yang bisa dikelola di dalam mesin Anda. Maksud kami hanya karena WMI memiliki kelas Win32_Battery tidak berarti mesin Anda mengandung baterai. Kelas-kelas ini kemudian dapat dipertanyakan untuk informasi secara lokal atau bahkan di seluruh jaringan dengan menggunakan bahasa query yang sangat mirip dengan SQL yang disebut WQL.Namun, WMI telah dikenal sangat tidak dapat diandalkan, terutama karena berdasarkan RPC( Remote Procedure Calls), yang melakukan beberapa hal gila dengan port yang mereka pilih untuk berkomunikasi.

instagram viewer

Dimulai dengan Windows 8 dan Server 2012, WMI sedang dihapuskan sesuai dengan Model Informasi Umum atau CIM singkatnya. Satu-satunya perbedaan antara WMI dan CIM adalah protokol transport yang mereka gunakan. Sementara WMI melakukan query menggunakan Remote Procedure Calls, CIM menggunakan HTTP, yang tampaknya membuat perbedaan besar. Di backend mereka masih berbicara dengan gudang informasi yang sama.

Menggunakan WMI

Cara tercepat dan termudah untuk mengeksplorasi informasi yang tersedia bagi Anda melalui WMI adalah dengan mengambil salinan Browser WMI Object gratis. Kami seperti ini. Setelah diunduh, nyalakan dan Anda akan memiliki antarmuka grafis untuk menjelajahi Kelas WMI.

gambar

Jika Anda ingin mengetahui sesuatu tentang konfigurasi disk komputer, tekan kombinasi keyboard Ctrl + F untuk membuka kotak pencarian, lalu ketik "logicaldisk" dan tekan enter.

gambar

Segera ini akan membawa Anda ke kelas Win32_LogicalDisk.

gambar

Di bagian bawah aplikasi, Anda dapat melihat ada dua contoh kelas.

gambar

Begitu kita memiliki kelas yang kita cari, query dari PowerShell lurus ke depan.

Get-WmiObject -Query "SELECT * FROM Win32_LogicalDisk"

gambar

Saya belum melihat sintaks itu untuk sementara waktu dengan orang-orang akhir-akhir ini lebih memilih untuk menggunakan sintaks parameter baru. Jika Anda ingin mendapatkan informasi dari komputer lain di jaringan Anda, Anda bisa menggunakan parameter ComputerName.

Get-WmiObject -Class Win32_LogicalDisk -ComputerName Viper -Credential viper \ administrator

gambar

Menggunakan CIM

Ingat bahwa CIM hanya tersedia di Windows 8 dan Server 2012, terus melangkah maju, ini pastinya cara untuk pergi.

Get-CimInstance -ClassName Win32_LogicalDisk

gambar

Ada juga penyelesaian tab untuk parameter -ClassName saat menggunakan Get-CimInstance, yang menunjukkan bahwa melangkah maju, inilah upaya Microsoft untuk fokus.

Sebenarnya, WMI dikembangkan oleh tim yang sama sekali terpisah dalam Microsoft, namun kemudian diambil alih oleh orang-orang yang bertanggung jawab atas PowerShell. Mereka adalah orang-orang yang menyadari bahwa akan sangat sulit membersihkan kekacauan yang ditinggalkan WMI.Dalam upaya memperbaiki situasi, mereka mencoba membuat WMI dan CIM lebih tersedia dengan menulis cmdlet pembungkus yang menggunakan WMI dan CIM di bawah tenda. Satu-satunya cara untuk memeriksa apakah cmdlet adalah pembungkusnya adalah dengan melihat dokumentasi. Misalnya, cmdlet Get-Hotfix adalah pembungkus kelas Win32_QuickFixEngineering, seperti yang terlihat dalam dokumentasi.

gambar

Itu berarti Anda bisa mendapatkan perbaikan terbaru pada mesin remote menggunakan cmdlet Get-HotFix dan bukan Query WMI.

Get-HotFix -ComputerName localhost

gambar

Jadi begitulah. Ingat saja bahwa jika ada cmdlet khusus Anda akan selalu ingin menggunakannya, ditindaklanjuti oleh CIM jika cmdlet tidak ada. Akhirnya, jika semuanya gagal, atau Anda memiliki mesin yang lebih tua di lingkungan Anda, Anda pasti ingin menggunakan WMI.Hanya itu yang saya miliki untuk saat ini. Sampai jumpa besok untuk lebih PowerShell menyenangkan.