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 alrendszerbeá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 hajtson végre.

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

Először egy parancsot fogunk használni, 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.

Megjegyzés

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

Mivel a metaadat-tulajdonságok többsége cim betűvel kezdődő névvel rendelkezik, a tulajdonságokat a használatával Select-Objectszűrheti. Adja meg az -ExcludeProperty paramétert a "Cim*" értékkel. Például:

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

A metaadatok szűréséhez használjon folyamatoperátort (|) a parancs eredményeinek elküldéséhez a Get-CimInstance következőnek 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ókat ad vissza a rendszer BIOS-járól a helyi számítógépen:

Get-CimInstance -ClassName Win32_BIOS

Feldolgozó adatainak 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 listázá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 biztosítá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 bizonyos hardverről adnak vissza információt, csak olyan jók, mint az Ön adatai. Egyes adatokat 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 Win32_QuickFixEngineering használatával listázhatja:

Get-CimInstance -ClassName Win32_QuickFixEngineering

Ez az osztály az alábbihoz 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 Get-CimInstanceTulajdonság paraméter használatával csak a gyorsjavítás-azonosítót választhatja ki, ez valójában további információkat 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ág paramétere Get-CimInstance a WMI-osztálypéldányokból visszaadott tulajdonságokat korlátozza, nem pedig a PowerShellnek 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 listázása

A Win32_OperatingSystem osztálytulajdonságok tartalmazzák a verzió- és szervizcsomag-információkat. Explicit módon 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

A Tulajdonság paraméterrel helyettesítő karaktereket is használhat. Mivel a Build vagy a ServicePack tulajdonsággal kezdődő összes tulajdonságot fontos itt használni, 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 kiválasztásával találhatók. Explicit módon kiválaszthatja a megjelenítendő tulajdonságokat:

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*

Rendelkezésre álló 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 felhasználókhoz társított bejelentkezési munkamenetekről a Win32_LogonSession WMI-osztályon keresztül kaphat általános információkat:

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épes rendszerbe 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

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

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

Az adott számítógépen található összes szolgáltatás állapotának megtekintéséhez helyileg használhatja a Get-Service parancsmagot. Távoli rendszerek esetén használhatja a Win32_Service WMI-osztályt. Ha az eredményeket állapotra,Névre és DisplayName-ra 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 az AutoSize és a Wrap paraméterét Format-Table. Ezek a paraméterek optimalizálják az oszlopszélességeket, és lehetővé teszik a hosszú nevek tördelésének lehetőségét a csonkolás helyett:

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