Adatgyűjtés a számítógépekről

Ez a minta csak Windows-platformokra vonatkozik.

A CimCmdlets modul parancsmagjai az általános rendszerfelügyeleti feladatok legfontosabb parancsmagjai. Az összes kritikus alrendszer-beállítás a WMI-ben érhető el. Emellett a WMI egy vagy több elem gyűjteményében lévő objektumokként kezeli az adatokat. Mivel a PowerShell objektumokkal is működik, és olyan folyamattal rendelkezik, amely lehetővé teszi egy vagy több objektum azonos módon történő kezelését, az általános WMI-hozzáférés lehetővé teszi, hogy néhány speciális feladatot nagyon kevés munkával végezzen.

Asztali beállítások listázása

Először egy olyan paranccsal kezdjük, amely adatokat gyűjt a helyi számítógépen lévő asztalokról.

Get-CimInstance -ClassName Win32_Desktop

Ez az összes asztali gép adatait adja vissza, függetlenül attól, hogy használatban vannak-e.

Feljegyzés

Egyes WMI-osztályok által visszaadott információk nagyon részletesek lehetnek, és gyakran tartalmaznak metaadatokat a WMI-osztályról.

Mivel ezeknek a metaadat-tulajdonságoknak a többsége cim-sel kezdődő névvel rendelkezik, a tulajdonságokat szűrheti a cim használatával Select-Object. Adja meg a -ExcludeProperty paramétert a "Cim*" értékkel. Példa:

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

A metaadatok szűréséhez használjon egy folyamatoperátort (|) a Get-CimInstance parancs eredményeinek elküldéséhez Select-Object -ExcludeProperty "CIM*".

BIOS-információk listázása

A WMI Win32_BIOS osztály viszonylag tömör és teljes információt ad vissza a rendszer BIOS-járól a helyi számítógépen:

Get-CimInstance -ClassName Win32_BIOS

Processzoradatok listázása

Az általános processzoradatok a WMI Win32_Processor osztályával kérhetők le, bár valószínűleg szűrni szeretné az információkat:

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

A processzorcsalád általános leírási sztringje csak a SystemType tulajdonságot adja vissza:

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

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

A számítógép gyártójának és modelljének felsorolása

A számítógépmodell adatai a Win32_ComputerSystem is elérhetők. A szabványos megjelenített kimenetnek nincs szüksége szűrésre az OEM-adatok megadásához:

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

Az ilyen parancsok kimenete, amelyek közvetlenül valamilyen hardverből adnak vissza információt, csak olyan jók, mint az ön adatai. Egyes információkat a hardvergyártók nem megfelelően konfiguráltak, ezért előfordulhat, hogy nem érhetők el.

Telepített gyorsjavítások listázása

Az összes telepített gyorsjavítást a Win32_QuickFixEngineering használatával listázhatja:

Get-CimInstance -ClassName Win32_QuickFixEngineering

Ez az osztály a következőhöz hasonló gyorsjavítások listáját adja vissza:

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

A tömörebb kimenet érdekében érdemes lehet kizárni néhány tulajdonságot. Bár a Tulajdonság paraméter használatával csak a Get-CimInstancegyorsjavítás-azonosítót választhatja ki, valójában több információt ad vissza, mivel alapértelmezés szerint az összes metaadat megjelenik:

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

A rendszer a további adatokat adja vissza, mert a tulajdonságparaméterGet-CimInstance a WMI-osztálypéldányokból visszaadott tulajdonságokat korlátozza, nem pedig a PowerShell-nek visszaadott objektumot. A kimenet csökkentéséhez használja a következőt Select-Object:

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

Az operációs rendszer verzióadatainak felsorolása

Az Win32_OperatingSystem osztálytulajdonságok tartalmazzák a verzió és a szervizcsomag adatait. Csak ezeket a tulajdonságokat választhatja ki a verzióinformációk összegzésének lekéréséhez Win32_OperatingSystem:

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

Helyettesítő karaktereket is használhat a Tulajdonság paraméterrel. Mivel itt fontos a Build vagy a ServicePack kezdetű összes tulajdonság használata, ezt a következő űrlapra rövidíthetjük:

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

Helyi felhasználók és tulajdonos listázása

A helyi felhasználókra vonatkozó általános információk Win32_OperatingSystem osztálytulajdonságok közül választhatnak. Explicit módon kiválaszthatja a megjelenítendő tulajdonságokat az alábbi módon:

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

A helyettesítő karaktereket használó tömörebb verzió a következő:

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

Szabad lemezterület lekérése

A lemezterület és a helyi meghajtók szabad területének megtekintéséhez használhatja a Win32_LogicalDisk osztályt. Csak olyan példányokat kell látnia, amelynek DriveType értéke 3, a WMI által a rögzített merevlemezekhez használt érték.

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

Bejelentkezési munkamenet adatainak lekérése

A Win32_LogonSession WMI-osztályon keresztül általános információkat kaphat a felhasználókhoz társított bejelentkezési munkamenetekről:

Get-CimInstance -ClassName Win32_LogonSession

A felhasználó számítógépre való bejelentkezésének lekérése

Megjelenítheti az adott számítógéprendszerbe bejelentkezett felhasználót a Win32_ComputerSystem használatával. Ez a parancs csak a rendszer asztalára bejelentkezett felhasználót adja vissza:

Get-CimInstance -ClassName Win32_ComputerSystem -Property UserName

Helyi idő lekérése számítógépről

A Win32_LocalTime WMI-osztály használatával lekérheti egy adott számítógépen az aktuális helyi időt.

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 :

A szolgáltatás állapotának megjelenítése

Egy adott számítógépen lévő összes szolgáltatás állapotának megtekintéséhez helyileg használhatja a Get-Service parancsmagot. Távoli rendszerek esetén a Win32_Service WMI-osztályt használhatja. Ha az eredményeket az Állapot, a Név és a DisplayName értékre is Select-Object szűri, a kimeneti formátum majdnem megegyezik a következőből származóvalGet-Service:

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

A hosszú neveket tartalmazó szolgáltatások nevének teljes megjelenítéséhez használja a következő autoSize és Wrap paraméterét Format-Table: . Ezek a paraméterek optimalizálják az oszlopok szélességét, és lehetővé teszik a hosszú nevek tördelésének a csonkolás helyett:

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