Mehr Sicherheit bei WMI WMI-Abfragen Authentifizierung nutzen

Autor / Redakteur: Thomas Joos / Thomas Joos

Verweigert ein Computer die Abfrage wegen fehlenden Berechtigungen, ist es möglich die Anmeldung in einer Variablen zu speichern und zur Verbindung zu nutzen. Wir zeigen in diesem Tipp, wie das geht.

Anbieter zum Thema

Windows-Netzwerke verwalten (Image by Gerd Altmann from Pixabay)
Windows-Netzwerke verwalten (Image by Gerd Altmann from Pixabay)
(Windows-Netzwerke verwalten (Image by Gerd Altmann from Pixabay))

Verweigert ein Computer die Abfrage wegen fehlenden Berechtigungen, ist es möglich die Anmeldung in einer Variablen zu speichern und zur Verbindung zu nutzen:

$CimSession = New-CimSession -ComputerName dc01 -Credential (Get-Credential)

Get-CimInstance -CimSession $CimSession -ClassName Win32_BIOS

Das ermöglicht Abfragen und Anpassungen übergreifend in Active Directory-Domänen, oder zu Arbeitsstationen und Servern, die kein Bestandteil von Active Directory sind.

Was mit der Klasse "Win32_BIOS" funktioniert, geht mit anderen Klassen ebenfalls, zum Beispiel "Win32_NetworkAdapterConfiguration".

Die WMI-Klasse "Win32_ComputerSystem" zeigt ebenfalls Daten zu Computer und Servern an, mit dem Parameter "-Computername" geht das über das Netzwerk ebenfalls. Dadurch lassen sich wichtige Informationen per WMI auslesen, die wiederum für andere Cmdlets genutzt werden können, da die Cmdlets umfassend die Pipeline unterstützen.

Die gleichen Informationen liefert der Befehl „Get-WmiObject Win32_BIOS“. Dieses Cmdlet ist wiederum hilfreich um Daten zur Netzwerkkonfiguration auszulesen, die sich danach flexibel anpassen lassen, zum Beispiel:

Get-WmiObject Win32_NetworkAdapterConfiguration

FL Description, MACAddress,IPAddress,IPSubnet,DefaultIPGateway,DNSServerSearchOrder

Das CMDlet "Get-WMIObject" nutzt verschiedene WMI-Klassen und kann WMI-Objekte auslesen und Informationen anzeigen. Um zum Beispiel Daten von Festplatten eines Computers auszulesen, verwenden Sie "Win32_LogicalDisk",  zum Beispiel mit "Get-WmiObject Win32_LogicalDisk".

Sie haben die Möglichkeit das Ergebnis zu filtern. Dazu nutzen Sie den Parameter "-filter".  Dieser Parameter steht für die anderen WMI-Klassen und Cmdlets ebenfalls zur Verfügung. Mit "-filter Index=<Nummer>" können Sie zum Beispiel gezielt einzelne Netzadapter ansprechen und auslesen. Das geht natürlich auch über das Netzwerk.

Für das CMDlet "Get-WMIObject" haben Sie die Möglichkeit über das Netzwerk Daten von physischen oder virtuellen Servern abzufragen. Dazu nutzen Sie ebenfalls den Parameter "-Computername". Eine ausführliche Liste der zur Verfügung stehenden WMI-Klassen, die sich mit dem Cmdlet nutzen lassen, erhalten Sie mit dem Befehl "Get-WmiObject -List".