Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

PowerShell: Informacje o sprzęcie

środa,

PowerShell: Informacje o sprzęcie

PowerShell to zaawansowane narzędzie do zarządzania systemem i sprzętem za pomocą poleceń tekstowych. Z jego pomocą można m.in. uzyskać szczegółowe informacje o sprzęcie. PowerShell korzysta z Windows Management Instrumentation (WMI) i CIM (Common Information Model), które zapewniają bogaty zestaw narzędzi do zbierania danych o systemie. Dostępne informacje mogą się różnić w zależności od sprzętu i konfiguracji systemu. Ponadto, w niektórych środowiskach korporacyjnych, polityki bezpieczeństwa mogą ograniczać dostęp do niektórych informacji o sprzęcie. Maksymalne możliwości daje uruchamianie prezentowanych przykładów z poziomu konta administracyjnego.

Przykłady

Dostępność informacji może zależeć od konkretnego sprzętu i sterowników. Niektóre komputery mogą nie dostarczać wszystkich danych, na przykład informacji o temperaturze. Ponadto, w niektórych przypadkach, może być konieczne uruchomienie PowerShell jako administrator, aby uzyskać dostęp do niektórych danych.

Płyta główna i BIOS

Get-WmiObject Win32_BaseBoard | Select-Object Manufacturer, Product, SerialNumber
Get-WmiObject Win32_BIOS | Select-Object Manufacturer, SMBIOSBIOSVersion, Version

Karta sieciowa

Get-WmiObject Win32_NetworkAdapter | Where-Object { $_.NetConnectionStatus -eq 2 } | Select-Object Name, NetConnectionStatus, Speed

System operacyjny

Get-WmiObject Win32_OperatingSystem | Select-Object Caption, Version, ServicePackMajorVersion, OSArchitecture, InstallDate

Drukarki

Get-WmiObject Win32_Printer | Select-Object Name, Default, Network, Shared

Urządzenia USB

Get-WmiObject Win32_USBControllerDevice | ForEach-Object { [Wmi]$_.Dependent } | Select-Object Name, Description, DeviceID

Stan baterii (dla laptopów)

Get-WmiObject Win32_Battery | Select-Object EstimatedChargeRemaining, EstimatedRunTime, Status

Informacje o partycjach dysku

Get-WmiObject Win32_DiskPartition | Select-Object Name, BootPartition, Size

Informacje o temperaturze (jeśli dostępne)

Get-WmiObject MSAcpi_ThermalZoneTemperature -Namespace "root/wmi" | ForEach-Object { $_.CurrentTemperature / 10 - 273.15 }

1### Informacje o dźwięku

Get-WmiObject Win32_SoundDevice | Select-Object Name, Manufacturer, Status

Informacje o kontrolerach SATA

Aby uzyskać informacje o kontrolerach SATA w systemie Windows za pomocą PowerShell, możesz skorzystać z WMI (Windows Management Instrumentation), podobnie jak w przypadku innych komponentów sprzętowych. Mogą być wymienione pod różnymi klasami WMI, ale najczęściej używane to Win32_IDEControllerWin32_SCSIController, ponieważ kontrolery SATA mogą być prezentowane jako jedno z tych urządzeń w zależności od konfiguracji systemu i sterowników. Warto sprawdzić obie opcje, aby uzyskać pełny obraz dostępnych kontrolerów.

Dla kontrolerów IDE (które mogą obejmować niektóre kontrolery SATA)

Get-WmiObject Win32_IDEController | Select-Object Name, Manufacturer, DeviceID

Dla kontrolerów SCSI (które również mogą obejmować kontrolery SATA)

Get-WmiObject Win32_SCSIController | Select-Object Name, Manufacturer, DeviceID

Informacje o podłączonych dyskach

Ponadto, jeśli chcesz uzyskać bardziej szczegółowe informacje o dyskach podłączonych do kontrolerów SATA, możesz użyć klasy Win32_DiskDrive, która dostarcza informacji o fizycznych dyskach twardych w systemie:

Get-WmiObject Win32_DiskDrive | Select-Object Model, InterfaceType, MediaType, Size

W tym przypadku, InterfaceType może wskazywać na IDE lub SCSI, ale dla nowoczesnych systemów często dyski SATA są prezentowane jako SCSI ze względu na sposób, w jaki są zarządzane przez system operacyjny i sterowniki.

Przykładowy skrypt

Prezentowany skrypt PowerShell wyświetla podstawowe informacje o sprzęcie komputera i korzysta z różnych poleceń cmdlet, aby uzyskać informacje o takich komponentach jak procesor, pamięć RAM, dysk twardy i karta graficzna. Informacje na temat tworzenia i uruchamiania skryptów PowerShell w środowisku Windows znajdziesz w materiale „Jak napisać i uruchomić skrypt PowerShell w Windows?”.

Prezentowany skrypt wyświetla podstawowe informacje o sprzęcie komputera i korzysta z różnych poleceń cmdlet, aby uzyskać informacje o takich komponentach jak procesor, pamięć RAM, dysk twardy i karta graficzna.

# Pobierz informacje o procesorze
$cpu = Get-WmiObject -Class Win32_Processor
Write-Host "Procesor: " $cpu.Name

# Pobierz informacje o pamięci RAM
$ram = Get-WmiObject -Class Win32_PhysicalMemory
$totalRam = 0
foreach ($memory in $ram) {
    $totalRam += $memory.Capacity
}
$totalRamGB = $totalRam / 1GB
Write-Host "Pamięć RAM: " $totalRamGB "GB"

# Pobierz informacje o dysku twardym
$disks = Get-WmiObject -Class Win32_LogicalDisk -Filter "DriveType=3"
foreach ($disk in $disks) {
    $sizeGB = $disk.Size / 1GB -as [int]
    $freeSpaceGB = $disk.FreeSpace / 1GB -as [int]
    Write-Host "Dysk twardy: " $disk.DeviceID " - Rozmiar: " $sizeGB "GB, Wolne miejsce: " $freeSpaceGB "GB"
}

Ten skrypt wykonuje następujące czynności:

  1. Używa Get-WmiObject z różnymi klasami WMI (Windows Management Instrumentation) do pobierania informacji o sprzęcie.
  2. Wyświetla informacje o procesorze (Win32_Processor).
  3. Sumuje całkowitą ilość pamięci RAM z wszystkich modułów (Win32_PhysicalMemory).
  4. Wyświetla informacje o każdym dysku twardym, w tym rozmiar i dostępną przestrzeń (Win32_LogicalDisk).
  5. Wyświetla informacje o zainstalowanych kartach graficznych (Win32_VideoController).

Trzy miesiące temu na naszej stronie…

Artykuł: Pierwszy skrypt bash

Pierwszy skrypt bash

Artykuł: Harmonogram egzaminów maturalnych

Harmonogram egzaminów maturalnych

Artykuł: Staże w Hiszpanii

Staże w Hiszpanii

Artykuł: Conformité Européenne

Conformité Européenne

Artykuł: Display Stream Compression

Display Stream Compression

Artykuł: High Dynamic Range

High Dynamic Range

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły