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

Tato ukázka platí jenom pro platformy Windows.

Rutiny z modulu CimCmdlets jsou nejdůležitějšími rutinami pro obecné úlohy správy systému. Všechna důležitá nastavení subsystému jsou přístupná prostřednictvím rozhraní WMI. Rozhraní WMI navíc zpracovává data jako objekty, které jsou v kolekcích jedné nebo více položek. Vzhledem k tomu, že PowerShell pracuje 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 plochách na místním počítači.

Get-CimInstance -ClassName Win32_Desktop

Vrátí informace pro všechny desktopy, ať už se používají, nebo ne.

Poznámka:

Informace vrácené některými třídami rozhraní 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 začínající cim, můžete filtrovat vlastnosti pomocí Select-Object. Jako hodnotu zadejte parametr -ExcludeProperty s parametrem Cim*. Příklad:

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

Pokud chcete vyfiltrovat metadata, použijte operátor kanálu (|) k odeslání výsledků 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 v 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í třídy Win32_Processor WMI, i když budete pravděpodobně chtít informace filtrovat:

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

Pro obecný popis řetězec řady procesorů můžete vrátit pouze vlastnost SystemType :

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

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

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

Informace o počítačovém modelu jsou k dispozici také v 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ě dobrý jako data, která máte. Některé informace nejsou správně nakonfigurované výrobci hardwaru a můžou být proto nedostupné.

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  .

Pokud chcete výstižnější výstup, můžete některé vlastnosti vyloučit. I když můžete použít Get-CimInstanceparametr Vlastnost '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
...

Vrátí se další data, protože parametr Property omezuje Get-CimInstance vlastnosti vrácené z instancí třídy WMI, nikoli objekt vrácený do PowerShellu. Pokud chcete 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

S parametrem Property můžete také použít zástupné cardy. Vzhledem k tomu, že zde jsou důležité všechny vlastnosti začínající sestavením nebo balíčkem ServicePack, můžeme tuto možnost 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

Obecné informace o místních uživatelích najdete s výběrem Win32_OperatingSystem vlastností třídy. 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í dostupného místa na disku

Pokud chcete zobrazit místo na disku a volné místo pro místní jednotky, můžete použít třídu Win32_LogicalDisk . Potřebujete zobrazit pouze instance s typem jednotky 3, přičemž hodnota WMI se používá pro 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ích

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či 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 Win32_LocalTime WMI.

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žíváte Select-Object k filtrování výsledků na Stav, Název a DisplayName, výstupní formát je 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ů pro služby s dlouhými názvy, použijte parametry AutoSize a Wrap parametru Format-Table. Tyto parametry optimalizují šířku sloupce a umožňují zalomit dlouhé názvy místo zkrácení:

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