Mengumpulkan Informasi Tentang Komputer

Cmdlet dari modul CimCmdlets adalah cmdlet terpenting untuk tugas manajemen sistem umum. Semua pengaturan subsistem penting diekspos melalui WMI. Selain itu, WMI memperlakukan data sebagai objek yang berada dalam koleksi satu atau beberapa item. Karena Windows PowerShell juga bekerja dengan objek dan memiliki alur yang memungkinkan Anda memperlakukan satu atau beberapa objek dengan cara yang sama, akses WMI generik memungkinkan Anda untuk melakukan beberapa tugas lanjutan dengan pekerjaan yang sangat sedikit.

Mencantumkan Pengaturan Desktop

Kita akan mulai dengan perintah yang mengumpulkan informasi tentang desktop di komputer lokal.

Get-CimInstance -ClassName Win32_Desktop

Ini mengembalikan informasi untuk semua desktop, baik yang sedang digunakan maupun tidak.

Catatan

Informasi yang dikembalikan oleh beberapa kelas WMI dapat sangat rinci, dan sering kali menyertakan metadata tentang kelas WMI.

Karena sebagian besar properti metadata ini memiliki nama yang dimulai dengan Cim, Anda dapat memfilter properti menggunakan Select-Object. Tentukan parameter -ExcludeProperty dengan "Cim*" sebagai nilai. Contohnya:

Get-CimInstance -ClassName Win32_Desktop | Select-Object -ExcludeProperty "CIM*"

Untuk memfilter metadata, gunakan operator alur (|) untuk mengirim hasil Get-CimInstance perintah ke Select-Object -ExcludeProperty "CIM*".

Mencantumkan Informasi BIOS

Kelas Win32_BIOS WMI mengembalikan informasi yang cukup ringkas dan lengkap tentang BIOS sistem di komputer lokal:

Get-CimInstance -ClassName Win32_BIOS

Informasi Prosesor Daftar

Anda dapat mengambil informasi prosesor umum dengan menggunakan kelas Win32_Processor WMI, meskipun Anda mungkin ingin memfilter informasi:

Get-CimInstance -ClassName Win32_Processor | Select-Object -ExcludeProperty "CIM*"

Untuk string deskripsi generik dari keluarga prosesor, Anda hanya dapat mengembalikan properti SystemType :

Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -Property SystemType

SystemType
----------
X86-based PC

Mencantumkan Produsen dan Model Komputer

Informasi model komputer juga tersedia dari Win32_ComputerSystem. Output standar yang ditampilkan tidak akan memerlukan pemfilteran apa pun untuk menyediakan data OEM:

Get-CimInstance -ClassName Win32_ComputerSystem
Name PrimaryOwnerName Domain    TotalPhysicalMemory Model                   Manufacturer
---- ---------------- ------    ------------------- -----                   ------------
MyPC Jane Doe         WORKGROUP 804765696           DA243A-ABA 6415cl NA910 Compaq Presario 06

Output Anda dari perintah seperti ini, yang mengembalikan informasi langsung dari beberapa perangkat keras, hanya sebaik data yang Anda miliki. Beberapa informasi tidak dikonfigurasi dengan benar oleh produsen perangkat keras dan oleh karena itu mungkin tidak tersedia.

Mencantumkan Perbaikan Terinstal

Anda dapat mencantumkan semua perbaikan yang terinstal dengan menggunakan Win32_QuickFixEngineering:

Get-CimInstance -ClassName Win32_QuickFixEngineering

Kelas ini mengembalikan daftar perbaikan yang terlihat seperti ini:

Source Description     HotFixID  InstalledBy   InstalledOn PSComputerName
------ -----------     --------  -----------   ----------- --------------
       Security Update KB4048951 Administrator 12/16/2017  .

Untuk output yang lebih succinct, Anda mungkin ingin mengecualikan beberapa properti. Meskipun Anda dapat menggunakan Get-CimInstanceparameter Properti untuk memilih hanya HotFixID, melakukannya akan benar-benar mengembalikan informasi lebih lanjut, karena semua metadata ditampilkan secara default:

Get-CimInstance -ClassName Win32_QuickFixEngineering -Property HotFixID
InstalledOn           :
Caption               :
Description           :
InstallDate           :
Name                  :
Status                :
CSName                :
FixComments           :
HotFixID              : KB4533002
InstalledBy           :
ServicePackInEffect   :
PSComputerName        :
CimClass              : root/cimv2:Win32_QuickFixEngineering
CimInstanceProperties : {Caption, Description, InstallDate, Name…}
CimSystemProperties   : Microsoft.Management.Infrastructure.CimSystemProperties
...

Data tambahan dikembalikan, karena parameter Properti di Get-CimInstance membatasi properti yang dikembalikan dari instans kelas WMI, bukan objek yang dikembalikan ke PowerShell. Untuk mengurangi output, gunakan Select-Object:

Get-CimInstance -ClassName Win32_QuickFixEngineering -Property HotFixId |
    Select-Object -Property HotFixId
HotFixId
--------
KB4048951

Mencantumkan Informasi Versi Sistem Operasi

Properti kelas Win32_OperatingSystem mencakup informasi paket layanan dan versi. Anda dapat secara eksplisit hanya memilih properti ini untuk mendapatkan ringkasan informasi versi dari Win32_OperatingSystem:

Get-CimInstance -ClassName Win32_OperatingSystem |
  Select-Object -Property BuildNumber,BuildType,OSType,ServicePackMajorVersion,ServicePackMinorVersion

Anda juga dapat menggunakan kartubebas dengan Select-Objectparameter Properti . Karena semua properti yang dimulai dengan Build atau ServicePack penting untuk digunakan di sini, kita dapat mempersingkat ini ke formulir berikut:

Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object -Property Build*,OSType,ServicePack*
BuildNumber             : 18362
BuildType               : Multiprocessor Free
OSType                  : 18
ServicePackMajorVersion : 0
ServicePackMinorVersion : 0

Mencantumkan Pengguna dan Pemilik Lokal

Informasi pengguna umum lokal — jumlah pengguna berlisensi, jumlah pengguna saat ini, dan nama pemilik — dapat ditemukan dengan pilihan properti kelas Win32_OperatingSystem . Anda dapat secara eksplisit memilih properti untuk ditampilkan seperti ini:

Get-CimInstance -ClassName Win32_OperatingSystem |
  Select-Object -Property NumberOfLicensedUsers,NumberOfUsers,RegisteredUser

Versi yang lebih singkat menggunakan kartubebas adalah:

Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object -Property *user*

Mendapatkan Ruang Disk yang Tersedia

Untuk melihat ruang disk dan ruang kosong untuk drive lokal, Anda dapat menggunakan kelas Win32_LogicalDisk WMI. Anda hanya perlu melihat instans dengan DriveType 3 — nilai yang digunakan WMI untuk hard disk tetap.

Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3"
DeviceID DriveType ProviderName VolumeName Size         FreeSpace   PSComputerName
-------- --------- ------------ ---------- ----         ---------   --------------
C:       3                      Local Disk 203912880128 65541357568 .
Q:       3                      New Volume 122934034432 44298250240 .
Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3" |
  Measure-Object -Property FreeSpace,Size -Sum |
    Select-Object -Property Property,Sum
Property           Sum
--------           ---
FreeSpace 109839607808
Size      326846914560

Mendapatkan Informasi Sesi Masuk

Anda bisa mendapatkan informasi umum tentang sesi masuk yang terkait dengan pengguna melalui kelas WMI Win32_LogonSession :

Get-CimInstance -ClassName Win32_LogonSession

Membuat Pengguna Masuk ke Komputer

Anda dapat menampilkan pengguna yang masuk ke sistem komputer tertentu menggunakan Win32_ComputerSystem. Perintah ini hanya mengembalikan pengguna yang masuk ke desktop sistem:

Get-CimInstance -ClassName Win32_ComputerSystem -Property UserName

Mendapatkan Waktu Lokal dari Komputer

Anda dapat mengambil waktu lokal saat ini di komputer tertentu dengan menggunakan kelas WMI Win32_LocalTime .

Get-CimInstance -ClassName Win32_LocalTime
Day            : 23
DayOfWeek      : 1
Hour           : 8
Milliseconds   :
Minute         : 52
Month          : 12
Quarter        : 4
Second         : 55
WeekInMonth    : 4
Year           : 2019
PSComputerName :

Menampilkan Status Layanan

Untuk melihat status semua layanan di komputer tertentu, Anda dapat menggunakan Get-Service cmdlet secara lokal. Untuk sistem jarak jauh, Anda dapat menggunakan kelas WMI Win32_Service . Jika Anda juga menggunakan Select-Object untuk memfilter hasilnya ke Status, Nama, dan DisplayName, format output akan hampir identik dengan yang dari Get-Service:

Get-CimInstance -ClassName Win32_Service |
    Select-Object -Property Status,Name,DisplayName

Untuk memungkinkan tampilan lengkap nama untuk layanan sesekali dengan nama yang sangat panjang, Anda mungkin ingin menggunakan Format-Table dengan parameter UkuranOtomatis dan Bungkus , untuk mengoptimalkan lebar kolom dan memungkinkan nama panjang untuk dibungkus alih-alih dipotok:

Get-CimInstance -ClassName Win32_Service |
    Format-Table -Property Status,Name,DisplayName -AutoSize -Wrap