You are on page 1of 5

THEMA

about_WMI_cmdlets

KURZBESCHREIBUNG
Enthlt Hintergrundinformationen ber die
Windows-Verwaltungsinstrumentation (Windows Management Instrumentation,
WMI) und Windows PowerShell.

DETAILBESCHREIBUNG
Dieses Thema enthlt Informationen zur WMI-Technologie, den WMI-Cmdlets
fr Windows PowerShell, zu WMI-basiertem Remoting, WMI-Verknpfungen und
zur WMI-Problembehandlung. Auerdem enthlt dieses Thema Links zu weiteren
Informationen ber WMI.

Informationen ber WMI
Die Windows-Verwaltungsinstrumentation (Windows Management
Instrumentation, WMI) ist die Microsoft-Implementierung von WBEM
(Web-Based Enterprise Management). Hierbei handelt es sich um eine
Brancheninitiative zum Entwickeln einer Standardtechnologie fr den
Zugriff auf Verwaltungsinformationen in einer Unternehmensumgebung.
WMI verwendet den Industriestandard Common Information Model (CIM) zum
Darstellen von Systemen, Anwendungen, Netzwerken, Gerten und anderen
verwalteten Komponenten. CIM wird von der Distributed Management Task
Force (DMTF) entwickelt und verwaltet. Mit WMI knnen Sie lokale und
Remotecomputer verwalten. Sie knnen WMI z. B. fr Folgendes verwenden:
-- Starten eines Prozesses auf einem Remotecomputer
-- Remoteneustart eines Computers
-- Abrufen einer Liste der auf einem lokalen oder
Remotecomputer installierten Anwendungen
-- Abfragen der Windows-Ereignisprotokolle auf einem lokalen
oder Remotecomputer

Die WMI-Cmdlets fr Windows PowerShell
In Windows PowerShell wird WMI-Funktionalitt durch Cmdlets
implementiert, die in Windows PowerShell standardmig verfgbar sind.
Sie knnen mit diesen Cmdlets die fr die Verwaltung von lokalen und
Remotecomputern erforderlichen End-to-End-Aufgaben ausfhren.

Die folgenden WMI-Cmdlets sind enthalten.
Cmdlet Beschreibung
------------------ ----------------------------------------------

Get-WmiObject Ruft Instanzen von WMI-Klassen oder
Informationen ber die verfgbaren Klassen ab.
Invoke-WmiMethod Ruft WMI-Methoden auf.
Register-WmiEvent Abonniert ein WMI-Ereignis.
Remove-WmiObject Lscht WMI-Klassen und Instanzen.
Set-WmiInstance Erstellt oder ndert Instanzen von WMI-Klassen.

Beispielbefehle
Mit dem folgenden Befehl werden die BIOS-Informationen fr den
lokalen Computer angezeigt.

C:\PS> get-wmiobject win32_bios | format-list *

Mit dem folgenden Befehl werden Informationen zum WinRM-Dienst
fr drei Remotecomputer angezeigt.

C:\PS> get-wmiobject -query "select * from win32_service
where name='WinRM'" -computername server01, server01,
server03

Mit dem folgenden komplexeren Befehl werden alle Instanzen eines
Programms beendet.

C:\PS> notepad.exe
C:\PS> $np = get-wmiobject -query "select * from win32_process
where name='notepad.exe'"
C:\PS> $np | remove-wmiobject

WMI-basiertes Remoting
Auch wenn die Mglichkeit zum Verwalten eines lokalen Systems mit WMI
hilfreich ist, wird WMI erst durch die Remotingfunktionen zu einem
leistungsstarken Verwaltungstool. WMI stellt mithilfe des Distributed
Component Object Model (DCOM) von Microsoft eine Verbindung mit Systemen
her und verwaltet diese. Mglicherweise mssen Sie einige Systeme fr
das Zulassen von DCOM-Verbindungen konfigurieren. Firewalleinstellungen
und gesperrte DCOM-Berechtigungen knnen verhindern, dass WMI Systeme
remote verwalten kann.

WMI-Typverknpfungen
Windows PowerShell umfasst WMI-Typverknpfungen. Diese
WMI-Typverknpfungen ermglichen einen direkteren Zugriff auf
WMI-Objekte als dies bei einem Ansatz ohne Typverknpfungen mglich wre.
Die folgenden Typverknpfungen werden in WMI untersttzt:
[WMISEARCHER] - Eine Verknpfung zum Suchen von WMI-Objekten.
[WMICLASS] - Eine Verknpfung zum Zugriff auf die statischen
Eigenschaften und Methoden einer Klasse.
[WMI] - Eine Verknpfung zum Abrufen einer einzelnen Instanz
einer Klasse.
[WMISEARCHER] ist eine Typverknpfung fr einen ManagementObjectSearcher.
Hiermit kann ein Zeichenfolgenkonstruktor einen Searcher erstellen,
fr den Sie dann GET() ausfhren knnen.
Beispiel:

PS> $s = [WmiSearcher]'Select * from Win32_Process where Handlecount > 100
0'
PS> $s.Get() |sort handlecount |ft handlecount,__path,name -auto
handlecount __PATH name
----------- ------ ----
1105 \\SERVER01\root\cimv2:Win32_Process.Handle="3724" powershel
l...
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.E
XE
1719 \\SERVER01\root\cimv2:Win32_Process.Handle="1912" iexplore.
exe
2579 \\SERVER01\root\cimv2:Win32_Process.Handle="1768" svchost.e
xe
[WMICLASS] ist eine Typverknpfung fr ManagementClass. Diese verfgt
ber einen Zeichenfolgenkonstruktor, der einen lokalen oder absoluten
WMI-Pfad fr eine WMI-Klasse annimmt und ein an diese Klasse gebundenes
Objekt zurckgibt.
Beispiel:
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_ManagedSystemElem
ent}
__SERVER : SERVER01
__NAMESPACE : ROOT\cimv2
__PATH : \\SERVER01\ROOT\cimv2:Win32_Process
[WMI] ist eine Typverknpfung fr ManagementObject. Diese verfgt ber
einen Zeichenfolgenkonstruktor, der einen lokalen oder absoluten
WMI-Pfad fr eine WMI-Instanz annimmt und ein an diese Instanz
gebundenes Objekt zurckgibt.
Beispiel:
PS> $p = [WMI]'\\SERVER01\root\cimv2:Win32_Process.Handl
e="1204"'
PS> $p.Name
OUTLOOK.EXE

WMI-Problembehandlung
Bei den folgenden Problemen handelt es sich um die am hufigsten
auftretenden Probleme beim Herstellen einer Verbindung mit
einem Remotecomputer.
Problem 1: Der Remotecomputer ist nicht online.
Wenn ein Computer offline ist, knnen Sie nicht ber WMI eine
Verbindung herstellen. Mglicherweise wird die folgende
Fehlermeldung angezeigt:
"Der Remoteservercomputer existiert nicht oder ist nicht verfgbar"
Wenn diese Fehlermeldung angezeigt wird, berprfen Sie, ob der
Computer online ist. Versuchen Sie, den Remotecomputer zu pingen.


Problem 2: Sie verfgen auf dem Remotecomputer nicht ber lokale
Administratorrechte.


Wenn Sie WMI remote verwenden mchten, mssen Sie auf dem Remotecomputer
ber lokale Administratorrechte verfgen. Wenn dies nicht der Fall ist,
wird der Zugriff auf diesen Computer verweigert.
So berprfen Sie die Namespacesicherheit
a. Klicken Sie auf "Start", klicken Sie mit der rechten
Maustaste auf "Arbeitsplatz", und klicken Sie auf "Verwalten".
b. Erweitern Sie in der Computerverwaltung "Dienste und Anwendungen",
klicken Sie mit der rechten Maustaste auf "WMI-Steuerung", und
klicken Sie dann auf "Eigenschaften".
c. Klicken Sie im Dialogfeld "Eigenschaften von WMI-Steuerung" auf
die Registerkarte "Sicherheit".


Problem 3: Eine Firewall blockiert den Zugriff auf den Remotecomputer.
WMI verwendet die Protokolle DCOM (Distributed COM) und RPC (Remote
Procedure Call) fr die bertragung ber das Netzwerk. Standardmig
blockieren viele Firewalls DCOM- und RPC-Datenverkehr. Wenn Ihre
Firewall diese Protokolle blockiert, tritt bei der Verbindung ein Fehler
auf. Windows-Firewall in Microsoft Windows XP Service Pack 2 ist z. B.
so konfiguriert, dass automatisch der gesamte nicht angeforderte
Netzwerkverkehr blockiert wird, einschlielich DCOM und WMI. In der
Standardkonfiguration lehnt Windows-Firewall eine eingehende
WMI-Anforderung ab, und die folgende Fehlermeldung wird angezeigt:
"Der Remoteservercomputer existiert nicht oder ist nicht verfgbar"

Weitere Informationen zu WMI
Weitere Informationen zu WMI finden Sie in den folgenden Themen
in der MSDN Library (Microsoft Developer Network):
"Informationen ber WMI:
http://go.microsoft.com/fwlink/?LinkId=142212
(mglicherweise auf Englisch)
"WMI-Problembehandlung"
http://go.microsoft.com/fwlink/?LinkId=142213
(mglicherweise auf Englisch)
Auerdem finden Sie Informationen im Microsoft TechNet Script Center
unter "Secrets of Windows Management Instrumentation - Troubleshooting
and Tips":
http://go.microsoft.com/fwlink/?LinkId=142214
(mglicherweise auf Englisch)

SIEHE AUCH
Onlineversion: http://go.microsoft.com/fwlink/?LinkId=142219
(mglicherweise auf Englisch)
Get-WmiObject
Invoke-WmiMethod
Register-WmiEvent
Remove-WmiObject
Set-WmiInstance