Informatie over computers verzamelen

Cmdlets van de module CimCmdlets zijn de belangrijkste cmdlets voor algemene systeembeheertaken. Alle kritieke subsysteeminstellingen worden via WMI zichtbaar gemaakt. Bovendien behandelt WMI gegevens als objecten in verzamelingen van een of meer items. Omdat Windows PowerShell ook met objecten werkt 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.

Desktop-Instellingen

We beginnen met een opdracht die informatie verzamelt over de desktops op de lokale computer.

Get-CimInstance -ClassName Win32_Desktop

Hiermee wordt informatie voor alle bureaubladen, ongeacht of ze in gebruik zijn of niet, retourneert.

Notitie

Informatie die door sommige WMI-klassen wordt geretourneerd, kan zeer gedetailleerd zijn en bevat 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 waarde. Bijvoorbeeld:

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

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

BIOS-informatie bekijken

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

Get-CimInstance -ClassName Win32_BIOS

Informatie over de notering van de processor

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

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

Voor een algemene beschrijvingsreeks 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 in een lijst bekijken

Informatie over het computermodel is ook beschikbaar via Win32_ComputerSystem. De standaard weergegeven uitvoer hoeft niet te worden gefilterd om OEM-gegevens op te geven:

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

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

Lijst met geïnstalleerde hotfixes

U kunt alle geïnstalleerde hotfixes op een lijst plaatsen met behulp van Win32_QuickFixEngineering:

Get-CimInstance -ClassName Win32_QuickFixEngineering

Deze klasse retourneert een lijst met hotfixes die er als de volgende uitziet:

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

Voor beknopte uitvoer wilt u mogelijk enkele eigenschappen uitsluiten. Hoewel u de eigenschapsparameter van kunt gebruiken om alleen de Get-CimInstance HotFixID te kiezen, retourneerde dit in feite 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 extra gegevens worden geretourneerd, omdat de eigenschapsparameter in de eigenschappen beperkt die worden geretourneerd door WMI-klasse-exemplaren, niet het object dat wordt geretourneerd Get-CimInstance naar PowerShell. Gebruik om de uitvoer te Select-Object verminderen:

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

Informatie over besturingssysteemversies bekijken

De eigenschappen Win32_OperatingSystem klasse bevatten informatie over de versie en het servicepack. U kunt expliciet alleen deze eigenschappen 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 Select-Object eigenschap parameter . Omdat alle eigenschappen die beginnen met Build of ServicePack belangrijk zijn om hier te gebruiken, kunnen we dit inkorten 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 in een lijst bekijken

Lokale algemene gebruikersgegevens, het aantal gelicentieerde gebruikers, het huidige aantal gebruikers en de naam van de eigenaar, vindt u met een selectie van Win32_OperatingSystem klasse-eigenschappen. U kunt expliciet de eigenschappen selecteren die als de volgende moeten worden weergegeven:

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

Een beknopter 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 WMI-klasse Win32_LogicalDisk gebruiken. U hoeft alleen exemplaren met een DriveType van 3 te zien: 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 verkrijgen

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

Get-CimInstance -ClassName Win32_LogonSession

De gebruiker die is aangemeld 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 die is aangemeld bij het systeem bureaublad:

Get-CimInstance -ClassName Win32_ComputerSystem -Property UserName

Lokale tijd van een computer verkrijgen

U kunt de huidige lokale tijd op een specifieke computer ophalen met behulp van 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 gebruikt om de resultaten te filteren op Select-Object Status, Naam 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 incidentele services met extreem lange namen wilt toestaan, kunt u gebruiken met de Format-Table parameters AutoSize en Wrap om de kolombreedte te optimaliseren en toe te staan dat lange namen worden verpakt in plaats van afgekapt:

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