- PowerShell lar deg konsultere systemdata som CPU, RAM, BIOS, disker og nettverk.
- Cmdleter som Get-CimInstance og Get-WmiObject er nøkkelen til å innhente denne informasjonen.
- Ekstern datamaskininventar kan automatiseres med tilpassede skript.
- Det finnes flere WMI-klasser som eksponerer tekniske detaljer om maskinvare og operativsystem.

Hvis du bruker Windows og du ønsker å få teknisk informasjon fra datamaskinen din eller andre nettverksenheter, er PowerShell et kraftig verktøy som du sannsynligvis allerede har installert. Med bare noen få kommandoer Du kan få tilgang til alle slags detaljer om operativsystem, maskinvare, BIOS, prosessor, RAM og diskstasjoner. Ikke bare det, du kan også automatisere denne samlingen på flere enheter samtidig. La oss se hvordan du gjør det fra bunnen av og på en komplett måte.
PowerShell gir tilgang til systemdata ved hjelp av WMI (Windows Management Instrumentation) og dens mest moderne utvikling, CIM (Common Information Model)Begge teknologiene eksponerer informasjon i form av klasser, noe PowerShell forstår veldig godt takket være objekthåndteringen. Her lærer du hvordan du spør etter disse klassene med enkle kommandoer.
Få grunnleggende informasjon med Get-ComputerInfo
En av de enkleste cmdletene å bruke for å få tilgang til systemdata er Get-ComputerInfoDenne kommandoen viser en rekke egenskaper i løpet av sekunder. Dette inkluderer Windows-versjon, utgave, installasjonstype, BIOS-informasjon, arkitektur, datamaskinnavn og mye mer.
Bare kjør:
Get-ComputerInfo
Hvis du trenger å filtrere etter bestemte egenskaper, kan du bruke parameteren -Property etterfulgt av en streng eller jokertegn:
Get-ComputerInfo -Property "*version"
Dette vil bare vise egenskapene som er relatert til systemversjoner.
Spør maskinvaren med Get-WmiObject og Get-CimInstance
Pluss Få-datamaskininfo, cmdletene Get-WmiObject y Get-CimInstance De er favorittene til å få detaljert og nøyaktig maskinvareinformasjon.
Prosessordata
For å se fullstendig prosessorinformasjon kan du bruke:
Get-WmiObject -Class Win32_Processor
Denne kommandoen returnerer parametere som maksimal hastighet, produsent, antall fysiske og logiske kjerner, prosessornavn og socket-ID.
Du kan også se bare noen få nøkkelverdier:
Get-WmiObject Win32_Processor | Select Name, NumberOfCores, NumberOfLogicalProcessors
Eller den nøyaktige frekvensen som skiller verdien av navn:
((Get-WmiObject Win32_Processor).name).split("@")
RAM-minne installert
Det er like enkelt å sjekke datamaskinens fysiske RAM:
Get-WmiObject CIM_PhysicalMemory | Select BankLabel, Manufacturer, Capacity, Speed
Å vite total mengde installert i GB:
$ram = Get-WmiObject CIM_PhysicalMemory | Select-Object -ExpandProperty Capacity | Measure-Object -Sum
$ram.Sum / 1GB
Hurtigbufferminne og moduler
For informasjon om hurtigbuffernivåer:
Get-WmiObject Win32_CacheMemory | Select DeviceID, MaxCacheSize
Og for flere tekniske detaljer:
Get-WmiObject Win32_PhysicalMemoryArray
Hent BIOS- og hovedkortdata
Klasse Win32_BIOS gir viktig informasjon som produsent, versjon og serienummer:
Get-CimInstance -ClassName Win32_BIOS
For å hente ut bare serienummeret:
Get-WmiObject Win32_BIOS | Select-Object -ExpandProperty SerialNumber
Og hvis du trenger å se hovedkortet:
Get-WmiObject Win32_BaseBoard
Operativsystemdata
Pluss Få-datamaskininfo, kan du også bruke Win32_OperatingSystem for å se detaljerte egenskaper som:
- Bygge
- Systemtype
- versjon
- Antall registrerte brukere
For eksempel:
Get-CimInstance -ClassName Win32_OperatingSystem | Select BuildNumber, BuildType, OSType, ServicePack*
Hvis du bare vil vite hvem den registrerte brukeren er:
Get-CimInstance -ClassName Win32_OperatingSystem | Select RegisteredUser
Harddiskplass
Slik ser du hvor mye opptatt og ledig plass det er på de fysiske diskene dine:
Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3"
For å se den totale ledige plassen:
Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3" | \
Measure-Object -Property FreeSpace,Size -Sum | \
Select-Object Property,Sum
Brukere, økter og nettverk
Med disse spørringene vil du se hvilke brukere som er aktive eller nylig har logget inn:
Get-CimInstance -ClassName Win32_ComputerSystem -Property UserName
Du kan også se påloggingsøktene:
Get-CimInstance -ClassName Win32_LogonSession
Og selvfølgelig nettverksdata:
Get-NetAdapter -Physical | Where-Object { $_.Status -eq 'Up' }
For å se IP-adressen og statusen til grensesnitt, samt avanserte innstillinger, kan du konsultere spesifikke PowerShell-ressurser, for eksempel Slik angir du datagrenser i Windows.
Overvåkingstjenester og TPM
For å se hvilke tjenester som er aktive og statusen deres:
Get-CimInstance -ClassName Win32_Service | Select Status, Name, DisplayName
Og hvis du bruker en chip TPM og du ønsker å få dataene deres:
Get-WmiObject -Namespace root/cimv2/security/microsofttpm -Class Win32_TPM
Automatiser datainnsamling på tvers av flere datamaskiner
Det er også mulig å lage en komplett inventar av flere utstyrsenheter nettverkstilkoblet. En funksjon som Get-Inventory Du kan sjekke hvilke lag som er online med Test-Connection, og kjør deretter flere WMI-spørringer på hver av dem, og lagre dataene i en CSV-fil. For å gjøre dette kan det være nyttig å sjekke ut denne ressursen på Slik integrerer du Excel-data med Power BI.
Dette er ideelt for systemadministratorer som administrerer mellomstore eller store miljøer.
PowerShell kombinerer fleksibilitet med enorme system- og maskinvareinspeksjonsmuligheter. Du kan få svært tekniske detaljer eller nøkkelverdier som forenkler styring og diagnose. Videre tillater automatiseringen av disse prosessene at man kan opprettholde oppdaterte varelager og gjennomføre revisjoner raskt, noe som sparer betydelig tid og krefter.
Lidenskapelig forfatter om verden av bytes og teknologi generelt. Jeg elsker å dele kunnskapen min gjennom å skrive, og det er det jeg skal gjøre i denne bloggen, vise deg alle de mest interessante tingene om dingser, programvare, maskinvare, teknologiske trender og mer. Målet mitt er å hjelpe deg med å navigere i den digitale verden på en enkel og underholdende måte.
