Get-ComputerInfo to cmdlet PowerShella (dostępny od wersji 5.1, z modułu Microsoft.PowerShell.Management), który jednym strzałem zwraca skonsolidowany obiekt z setką z górą właściwości opisujących komputer — od wersji i buildu systemu, przez producenta i model płyty, BIOS/UEFI, architekturę procesora, ilość RAM, aż po strefę czasową, ustawienia regionalne i status Hyper-V. Zamiast biegać po pięciu różnych narzędziach (systeminfo, WMI, rejestr), dostajesz wszystko w jednym miejscu i w postaci obiektu, który możesz dalej filtrować i eksportować.
Składnia i najważniejsze opcje
Podstawowa składnia jest banalnie krótka:
Get-ComputerInfo [-Property
-Property— lista nazw właściwości, które chcesz zobaczyć; obsługuje symbole wieloznaczne (np."Os*"), więc nie musisz wyklikiwać wszystkiego ręcznie.-Verbose— wspólny parametr; pokazuje, co cmdlet robi po drodze (przydatne, gdy zbieranie danych się ślimaczy).-ErrorAction— sterowanie reakcją na błędy, np.SilentlyContinue, gdy część właściwości nie da się odczytać.-OutVariable— zapisuje wynik do zmiennej obok normalnego wyjścia, bez powtarzania zapytania.
To w zasadzie tyle — cmdlet nie ma parametru komputera zdalnego ani poświadczeń. Działa na maszynie lokalnej. Resztę „parametrów” stanowią wspólne parametry PowerShella.
Przykłady użycia
Get-ComputerInfo— wypluwa pełny zestaw właściwości lokalnego komputera. Dobre na start, żeby zobaczyć, co w ogóle jest dostępne.Get-ComputerInfo -Property "OsName","OsVersion","OsBuildNumber"— pokazuje tylko nazwę, wersję i numer buildu systemu. Szybka odpowiedź na pytanie „jaki to Windows”.Get-ComputerInfo -Property "Os*"— dzięki symbolowi wieloznacznemu zwraca wszystkie właściwości zaczynające się odOs.Get-ComputerInfo -Property "CsManufacturer","CsModel","BiosSeralNumber"— producent, model i numer seryjny BIOS. Wygodne do inwentaryzacji sprzętu.Get-ComputerInfo | Export-Csv -Path C:\info.csv -NoTypeInformation— zapisuje cały raport do pliku CSV, np. do dokumentacji parku maszyn.
Częste błędy i pułapki
Po pierwsze: to jest komenda lokalna. Nie ma parametru -ComputerName ani -Credential — jeśli chcesz dane ze zdalnej maszyny, opakuj wywołanie w Invoke-Command. Po drugie, cmdlet bywa wolny (sekundy, nie milisekundy), bo pod spodem odpytuje wiele źródeł WMI/CIM; nie wpadaj w panikę, gdy chwilę myśli. Po trzecie, część właściwości potrafi zwrócić puste pole, jeśli sprzęt lub firmware danej informacji nie udostępnia — to nie błąd komendy, tylko brak danych. I uwaga na literówki w nazwach właściwości: PowerShell nie krzyknie, po prostu nic nie zwróci, więc sprawdź pisownię na pełnym wyniku.
Powiązane komendy: systeminfo (klasyczny odpowiednik z cmd), Get-CimInstance, Get-WmiObject, Get-HotFix oraz Export-Csv do zapisu wyników.