Megosztás a következőn keresztül:


about_WMI_Cmdlets

Rövid leírás

A Windows Management Instrumentation (WMI) és a Windows PowerShell háttérinformációit tartalmazza.

Hosszú leírás

Ez a témakör a WMI-technológiáról, a Windows PowerShell WMI-parancsmagjairól, a WMI-alapú remotingról, a WMI-gyorsítókról és a WMI hibaelhárításáról nyújt tájékoztatást. Ez a témakör a WMI-ről szóló további információkra mutató hivatkozásokat is tartalmaz.

Tudnivalók a WMI-ről

A Windows Management Instrumentation (WMI) a webalapú Enterprise Management (WBEM) Microsoft általi implementációja, amely egy olyan szabványos technológia kifejlesztésére irányuló iparági kezdeményezés, amellyel a felügyeleti információk elérhetők nagyvállalati környezetekben. A WMI az általános információmodell (CIM) iparági szabvány szerint jelöli a rendszereket, alkalmazásokat, hálózatokat, eszközöket és egyéb felügyelt összetevőket. A CIM modellt a Distributed Management Task Force (DMTF) fejleszti és tartja fenn. A WMI használatával helyi és távoli számítógépeket is kezelhet. A WMI használatával például a következőket teheti:

  • Folyamat indítása távoli számítógépen.
  • Indítsa újra a számítógépet távolról.
  • Lekérheti a helyi vagy távoli számítógépre telepített alkalmazások listáját.
  • A Windows eseménynaplóinak lekérdezése helyi vagy távoli számítógépen.

A Windows PowerShell WMI-parancsmagjai

A Windows PowerShell alapértelmezés szerint a Windows PowerShellben elérhető parancsmagokkal valósítja meg a WMI-funkciókat. Ezekkel a parancsmagokkal elvégezheti a helyi és távoli számítógépek kezeléséhez szükséges teljes körű feladatokat.

A rendszer a következő WMI-parancsmagokat tartalmazza.

Parancsmag Leírás
Get-WmiObject WMI-osztályok vagy -információk példányainak lekérdezése
az elérhető osztályokról.
Invoke-WmiMethod WMI-metódusokat hív meg.
Register-WmiEvent ELŐfizet egy WMI-eseményre.
Remove-WmiObject TÖRLI a WMI-osztályokat és -példányokat.
Set-WmiInstance WMI-osztályok példányait hozza létre vagy módosítja.

Mintaparancsok

Az alábbi parancs megjeleníti a helyi számítógép BIOS-adatait.

C:\PS> Get-WmiObject Win32_BIOS | Format-List *

Az alábbi parancs három távoli számítógép WinRM szolgáltatásával kapcsolatos információkat jelenít meg.

$wql = "select * from Win32_Service where name='WinRM'"
Get-WmiObject -Query $wql -ComputerName server01, server01, server03

Az alábbi összetettebb parancs kilép a program összes példányából.

C:\PS> notepad.exe
C:\PS> $wql = "select * from Win32_Process where name='notepad.exe'"
C:\PS> $np = Get-WmiObject -Query $wql
C:\PS> $np | Remove-WmiObject

WMI-alapú újraküldés

Bár a helyi rendszer WMI-sel való kezelése hasznos, az újraegyesítési képességek teszik a WMI-t hatékony felügyeleti eszközké. A WMI a Microsoft elosztott összetevő-objektummodelljét (DCOM) használja a rendszerekhez való csatlakozáshoz és a rendszerek kezeléséhez. Előfordulhat, hogy néhány rendszert konfigurálnia kell a DCOM-kapcsolatok engedélyezéséhez. A tűzfalbeállítások és a zárolt DCOM-engedélyek megakadályozhatják, hogy a WMI távolról felügyelje a rendszereket.

WMI típusú gyorsítók

A Windows PowerShell WMI típusú gyorsítókat tartalmaz. Ezek a WMI-típusú gyorsítók (billentyűparancsok) közvetlenebb hozzáférést biztosítanak a WMI-objektumokhoz, mint egy nem típusgyorsító megközelítés.

A WMI a következő típusgyorsítókat támogatja:

[wmisearcher] – WMI-objektumok keresésére szolgáló parancsikon.

[wmiclass] – Az osztály statikus tulajdonságainak és metódusainak eléréséhez használható parancsikon.

[wmi] – Egy osztály egyetlen példányának lekérésére szolgáló parancsikon.

[wmisearcher] egy ManagementObjectSearchertípusgyorsítója. A sztringkonstruktorok olyan keresőt hozhatnak létre, amelyen Get() végezhet.

Példa:

PS> $s = [wmisearcher]'Select * from Win32_Process where HandleCount > 1000'
PS> $s.Get() | sort HandleCount | ft HandleCount, __PATH, Name -Auto

Count  __PATH                                              Name
-----  ------                                              ----
1105   \\SERVER01\root\cimv2:Win32_Process.Handle="3724"   PowerShell...
1132   \\SERVER01\root\cimv2:Win32_Process.Handle="1388"   winlogon.exe
1495   \\SERVER01\root\cimv2:Win32_Process.Handle="2852"   iexplore.exe
1699   \\SERVER01\root\cimv2:Win32_Process.Handle="1204"   OUTLOOK.EXE
1719   \\SERVER01\root\cimv2:Win32_Process.Handle="1912"   iexplore.exe
2579   \\SERVER01\root\cimv2:Win32_Process.Handle="1768"   svchost.exe

[wmiclass] ManagementClasstípusgyorsítója. Ez egy sztringkonstruktor, amely egy helyi vagy abszolút WMI-elérési utat vezet egy WMI-osztályhoz, és visszaad egy objektumot, amely az adott osztályhoz van kötve.

Példa:

PS> $c = [wmiclass]"root\CIMV2:Win32_Process"
PS> $c |fl *
Name             : Win32_Process
__GENUS          : 1
__CLASS          : Win32_Process
__SUPERCLASS     : CIM_Process
__DYNASTY        : CIM_ManagedSystemElement
__RELPATH        : Win32_Process
__PROPERTY_COUNT : 45
__DERIVATION     : {CIM_Process, CIM_LogicalElement,
                   CIM_ManagedSystemElement}
__SERVER         : SERVER01
__NAMESPACE      : ROOT\cimv2
__PATH           : \\SERVER01\ROOT\cimv2:Win32_Process

[wmi] ManagementObjecttípusgyorsítója. Ez egy sztringkonstruktor, amely egy helyi vagy abszolút WMI-elérési utat vezet egy WMI-példányhoz, és visszaad egy objektumot, amely az adott példányhoz van kötve.

Példa:

PS> $p = [wmi]'\\SERVER01\root\CIMV2:Win32_Process.Handle="1204"'
PS> $p.Name
OUTLOOK.EXE

WMI-hibaelhárítás

A következő problémák a leggyakoribb problémák, amelyek távoli számítógéphez való csatlakozáskor fordulhatnak elő.

1. probléma: A távoli számítógép nincs online állapotban.

Ha egy számítógép offline állapotban van, a WMI használatával nem tud csatlakozni hozzá. A következő hibaüzenet jelenhet meg:

Remote server machine does not exist or is unavailable

Ha ezt a hibaüzenetet kapja, ellenőrizze, hogy a számítógép online állapotban van-e. Próbálja meg pingelni a távoli számítógépet.

2. probléma: Nincs helyi rendszergazdai jogosultsága a távoli számítógépen.

A WMI távoli használatához helyi rendszergazdai jogosultságokkal kell rendelkeznie a távoli számítógépen. Ha nem teszi meg, a rendszer megtagadja a számítógéphez való hozzáférést.

A névtér biztonságának ellenőrzése:

  1. Kattintson a Start gombra, kattintson a jobb gombbal a Saját gép, majd a Kezelés parancsra.
  2. A Számítógép-kezelés területen bontsa ki a Szolgáltatások és alkalmazások elemet, kattintson a jobb gombbal a WMI-vezérlőre, majd kattintson a Tulajdonságok parancsra.
  3. A WMI-vezérlő tulajdonságai párbeszédpanelen kattintson a Biztonság fülre.

3. probléma: A tűzfal blokkolja a távoli számítógéphez való hozzáférést.

A WMI a DCOM (Distributed COM) és az RPC (Remote Procedure Call) protokollt használja a hálózatra való bejáráshoz. Alapértelmezés szerint számos tűzfal blokkolja a DCOM- és RPC-forgalmat. Ha a tűzfal blokkolja ezeket a protokollokat, a kapcsolat meghiúsul. A Microsoft Windows XP Service Pack 2 windowsos tűzfala például úgy van konfigurálva, hogy automatikusan blokkolja az összes kéretlen hálózati forgalmat, beleértve a DCOM-t és a WMI-t. Az alapértelmezett konfigurációban a Windows tűzfal elutasít egy bejövő WMI-kérést, és a következő hibaüzenet jelenik meg:

Remote server machine does not exist or is unavailable

Lásd még