Informatie over computers verzamelen

Dit voorbeeld is alleen van toepassing op Windows-platforms.

Cmdlets van de CimCmdlets-module zijn de belangrijkste cmdlets voor algemene systeembeheertaken. Alle kritieke subsysteeminstellingen worden weergegeven via WMI. Bovendien behandelt WMI gegevens als objecten in verzamelingen van een of meer items. Omdat PowerShell ook werkt met objecten en een pijplijn heeft waarmee u één of meerdere objecten op dezelfde manier kunt behandelen, kunt u met algemene WMI-toegang enkele geavanceerde taken uitvoeren met weinig werk.

Bureaubladinstellingen weergeven

We beginnen met een opdracht waarmee informatie over de bureaubladen op de lokale computer wordt verzameld.

Get-CimInstance -ClassName Win32_Desktop

Hiermee wordt informatie geretourneerd voor alle bureaubladen, ongeacht of ze al dan niet worden gebruikt.

Notitie

Informatie die door sommige WMI-klassen wordt geretourneerd, kan zeer gedetailleerd zijn en bevatten vaak metagegevens over de WMI-klasse.

Omdat de meeste van deze metagegevenseigenschappen namen hebben die beginnen met Cim, kunt u de eigenschappen filteren met behulp van Select-Object. Geef de parameter -ExcludeProperty op met Cim*als de waarde. Voorbeeld:

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

Als u de metagegevens wilt filteren, gebruikt u een pijplijnoperator (|) om de resultaten van de Get-CimInstance opdracht naar te Select-Object -ExcludeProperty "CIM*"verzenden.

BIOS-informatie weergeven

De WMI-Win32_BIOS klasse retourneert redelijk compacte en volledige informatie over het systeem-BIOS op de lokale computer:

Get-CimInstance -ClassName Win32_BIOS

Processorgegevens vermelden

U kunt algemene processorgegevens ophalen met behulp van de Win32_Processor klasse van WMI, hoewel u waarschijnlijk de informatie wilt filteren:

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

Voor een algemene beschrijvingstekenreeks van de processorfamilie kunt u gewoon de eigenschap SystemType retourneren:

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

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

Computerfabrikant en model vermelden

Computermodelgegevens zijn ook beschikbaar via Win32_ComputerSystem. De standaard weergegeven uitvoer heeft geen filters nodig om OEM-gegevens te leveren:

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

Uw uitvoer van opdrachten zoals deze, die informatie rechtstreeks van bepaalde hardware retourneren, is alleen zo goed als de gegevens die u hebt. Sommige informatie is niet juist geconfigureerd door hardwarefabrikanten en is daarom mogelijk niet beschikbaar.

Geïnstalleerde hotfixes weergeven

U kunt alle geïnstalleerde hotfixes weergeven met behulp van Win32_QuickFixEngineering:

Get-CimInstance -ClassName Win32_QuickFixEngineering

Deze klasse retourneert een lijst met hotfixes die er als volgt uitzien:

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

Voor meer beknopte uitvoer wilt u mogelijk bepaalde eigenschappen uitsluiten. Hoewel u de Get-CimInstanceparameter Eigenschap van 's kunt gebruiken om alleen de HotFixID te kiezen, retourneert dit eigenlijk meer informatie, omdat alle metagegevens standaard worden weergegeven:

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
...

De aanvullende gegevens worden geretourneerd, omdat de parameter Eigenschap in Get-CimInstance de eigenschappen beperkt die worden geretourneerd door WMI-klasse-exemplaren, niet het object dat wordt geretourneerd naar PowerShell. Als u de uitvoer wilt verminderen, gebruikt u Select-Object:

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

Versiegegevens van het besturingssysteem weergeven

De Win32_OperatingSystem klasse-eigenschappen bevatten informatie over versie- en servicepacks. U kunt alleen deze eigenschappen expliciet selecteren om een overzicht van versiegegevens op te halen uit Win32_OperatingSystem:

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

U kunt ook jokertekens gebruiken met de parameter Eigenschap . Omdat alle eigenschappen die beginnen met Build of ServicePack hier belangrijk zijn, kunnen we dit verkorten tot het volgende formulier:

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

Lokale gebruikers en eigenaar weergeven

Algemene informatie over lokale gebruikers vindt u met een selectie van Win32_OperatingSystem klasse-eigenschappen. U kunt expliciet de eigenschappen selecteren die u als volgt wilt weergeven:

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

Een beknoptere versie met jokertekens is:

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

Beschikbare schijfruimte verkrijgen

Als u de schijfruimte en vrije ruimte voor lokale stations wilt zien, kunt u de Win32_LogicalDisk-klasse gebruiken. U moet alleen exemplaren zien met een DriveType van 3, de waarde die WMI gebruikt voor vaste harde schijven.

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

Aanmeldingssessiegegevens ophalen

U kunt algemene informatie krijgen over aanmeldingssessies die zijn gekoppeld aan gebruikers via de Win32_LogonSession WMI-klasse:

Get-CimInstance -ClassName Win32_LogonSession

De gebruiker laten aanmelden bij een computer

U kunt de gebruiker die is aangemeld bij een bepaald computersysteem weergeven met behulp van Win32_ComputerSystem. Met deze opdracht wordt alleen de gebruiker geretourneerd die is aangemeld bij het systeemdesktop:

Get-CimInstance -ClassName Win32_ComputerSystem -Property UserName

Lokale tijd ophalen vanaf een computer

U kunt de huidige lokale tijd op een specifieke computer ophalen met behulp van de Win32_LocalTime WMI-klasse.

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 :

Servicestatus weergeven

Als u de status van alle services op een specifieke computer wilt weergeven, kunt u de Get-Service cmdlet lokaal gebruiken. Voor externe systemen kunt u de WMI-klasse Win32_Service gebruiken. Als u ook Select-Object de resultaten filtert op Status, Name en DisplayName, is de uitvoerindeling bijna identiek aan die van Get-Service:

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

Als u de volledige weergave van namen voor services met lange namen wilt toestaan, gebruikt u de parameters AutoSize en Wrap van Format-Table. Met deze parameters wordt de kolombreedte geoptimaliseerd en kunnen lange namen worden teruglopen in plaats van afgekapt te worden:

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