Shromažďování informací o počítačích

Rutiny z modulu CimCmdlets jsou nejdůležitější rutiny pro obecné úlohy správy systému. Všechna důležitá nastavení subsystému jsou zpřístupněna prostřednictvím rozhraní WMI. Služba WMI navíc zpracovává data jako objekty, které jsou v kolekcích jedné nebo více položek. Vzhledem k tomu, že Windows PowerShell funguje také s objekty a má kanál, který umožňuje pracovat s jedním nebo více objekty stejným způsobem, obecný přístup WMI umožňuje provádět některé pokročilé úlohy s velmi malou prací.

Výpis nastavení plochy

Začneme příkazem, který shromažďuje informace o desktopech v místním počítači.

Get-CimInstance -ClassName Win32_Desktop

Tím se vrátí informace pro všechny plochy bez ohledu na to, jestli se používají, nebo ne.

Poznámka

Informace vrácené některými třídami služby WMI mohou být velmi podrobné a často obsahují metadata o třídě služby WMI.

Vzhledem k tomu, že většina těchto vlastností metadat má názvy, které začínají cim, můžete filtrovat vlastnosti pomocí Select-Object. Jako hodnotu zadejte parametr -ExcludeProperty s "Cim*". Příklad:

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

Pokud chcete vyfiltrovat metadata, pomocí operátoru kanálu (|) odešlete výsledky Get-CimInstance příkazu do Select-Object -ExcludeProperty "CIM*".

Výpis informací o systému BIOS

Třída služby WMI Win32_BIOS vrací poměrně kompaktní a úplné informace o systému BIOS na místním počítači:

Get-CimInstance -ClassName Win32_BIOS

Výpis informací o procesoru

Obecné informace o procesoru můžete načíst pomocí Win32_Processor třídy služby WMI, i když budete pravděpodobně chtít informace filtrovat:

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

Obecný řetězec popisu řady procesorů můžete jednoduše vrátit vlastnost SystemType :

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

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

Výpis výrobce počítače a modelu

Informace o počítačovém modelu jsou dostupné také z Win32_ComputerSystem. Standardní zobrazený výstup nebude k poskytování dat OEM potřebovat žádné filtrování:

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

Výstup z příkazů, jako je tento, který vrací informace přímo z některého hardwaru, je stejný jako data, která máte. Některé informace nejsou správně nakonfigurované výrobci hardwaru a proto nemusí být k dispozici.

Výpis nainstalovaných oprav hotfix

Všechny nainstalované opravy hotfix můžete zobrazit pomocí Win32_QuickFixEngineering:

Get-CimInstance -ClassName Win32_QuickFixEngineering

Tato třída vrátí seznam oprav hotfix, které vypadají takto:

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

Pro podrobnější výstup můžete chtít vyloučit některé vlastnosti. I když můžete použít Get-CimInstanceparametr Vlastnosti 's zvolit pouze HotFixID, tím se ve skutečnosti vrátí další informace, protože všechna metadata se ve výchozím nastavení zobrazují:

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

Další data se vrátí, protože parametr Property v Get-CimInstance omezení vlastností vrácených z instancí třídy WMI, nikoli objekt vrácený do PowerShellu. Chcete-li snížit výstup, použijte Select-Object:

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

Výpis informací o verzi operačního systému

Vlastnosti třídy Win32_OperatingSystem zahrnují informace o verzi a aktualizaci Service Pack. Pokud chcete získat souhrn informací o verzi z Win32_OperatingSystem, můžete explicitně vybrat pouze tyto vlastnosti:

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

Můžete také použít zástupné cardy s parametrem Select-ObjectVlastnost '. Vzhledem k tomu, že všechny vlastnosti začínající sestavením nebo balíčkem ServicePack jsou důležité použít zde, můžeme to zkrátit na následující formulář:

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

Výpis místních uživatelů a vlastníka

Místní obecné informace o uživateli – počet licencovaných uživatelů, aktuální počet uživatelů a jméno vlastníka – najdete s výběrem vlastností třídy Win32_OperatingSystem . Můžete explicitně vybrat vlastnosti, které se mají zobrazit takto:

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

Stručnější verze s využitím zástupných znaků je:

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

Získání volného místa na disku

Pokud chcete zobrazit místo na disku a volné místo pro místní jednotky, můžete použít Win32_LogicalDisk třídu služby WMI. Potřebujete zobrazit pouze instance s typem jednotky 3 – hodnota WMI se používá pro pevné pevné pevné disky.

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

Získání informací o přihlašovací relaci

Obecné informace o přihlašovacích relacích přidružených uživatelům můžete získat prostřednictvím třídy služby WMI Win32_LogonSession :

Get-CimInstance -ClassName Win32_LogonSession

Přihlášení uživatele k počítači

Uživatele přihlášeného k určitému počítačovému systému můžete zobrazit pomocí Win32_ComputerSystem. Tento příkaz vrátí pouze uživatele přihlášeného k systémové ploše:

Get-CimInstance -ClassName Win32_ComputerSystem -Property UserName

Získání místního času z počítače

Aktuální místní čas můžete načíst v určitém počítači pomocí třídy služby WMI Win32_LocalTime.

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 :

Zobrazení stavu služby

Pokud chcete zobrazit stav všech služeb na konkrétním počítači, můžete tuto rutinu Get-Service použít místně. Pro vzdálené systémy můžete použít třídu služby WMI Win32_Service. Pokud také použijete Select-Object k filtrování výsledků na Stav, Název a DisplayName, bude výstupní formát téměř stejný jako z Get-Service:

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

Chcete-li povolit úplné zobrazení názvů příležitostných služeb s extrémně dlouhými názvy, můžete použít Format-Table s parametry automatickéhozalamování a optimalizovat šířku sloupce a umožnit dlouhé názvy zalamovat místo zkrácení:

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