WMI-Aufgaben: Registrierung
WMI-Aufgaben für die Registrierung zum Erstellen und Ändern von Registrierungsschlüsseln und -werten. Weitere Beispiele finden Sie im TechNet ScriptCenter unter https://www.microsoft.com/technet.
In den in diesem Artikel enthaltenen Skriptbeispielen werden nur Daten vom lokalen Computer abgerufen. Weitere Informationen zum Verwenden des Skripts zum Abrufen von Daten von Remotecomputern finden Sie unter Herstellen einer Verbindung mit WMI auf einem Remotecomputer.
Nachstehend wird die Skriptausführung näher beschrieben.
So führen Sie ein Skript aus
- Kopieren Sie den Code, und speichern Sie ihn in einer Datei mit VBS-Erweiterung, z. B. filename.vbs. Stellen Sie sicher, dass der Text-Editor der Datei keine TXT-Erweiterung hinzufügt.
- Öffnen Sie ein Eingabeaufforderungsfenster, und navigieren Sie zu dem Verzeichnis, in dem Sie die Datei gespeichert haben.
- Geben Sie cscript filename.vbs in die Eingabeaufforderung ein.
- Wenn Sie nicht auf ein Ereignisprotokoll zugreifen können, überprüfen Sie, ob Sie eine Eingabeaufforderung mit erhöhten Rechten verwenden. Einige Ereignisprotokolle, z. B. das Sicherheitsereignisprotokoll, können durch die Benutzerkontensteuerung (User Account Control, UAC) geschützt sein.
Hinweis
Standardmäßig zeigt cscript die Ausgabe eines Skripts im Eingabeaufforderungsfenster an. Da WMI-Skripts sehr viele Ausgabedaten erzeugen können, sollten Sie die Ausgabe in eine Datei umleiten. Geben Sie cscript filename.vbs > outfile.txt in die Eingabeaufforderung ein, um die Ausgabe des Skripts filename.vbs an outfile.txt umzuleiten.
In der folgenden Tabelle sind Skriptbeispiele aufgeführt, die zum Abrufen verschiedener Datentypen vom lokalen Computer verwendet werden können.
Vorgehensweisen | WMI-Klassen oder -Methoden | ||||||||
---|---|---|---|---|---|---|---|---|---|
Lesen eines Registrierungsschlüsselwerts mithilfe von WMI | Verwenden Sie die Klasse StdRegProv, die sich im Namespace „root\default“ befindet. Sie können keine Instanzen dieser Klasse abrufen, da der Systemregistrierungsanbieter ein reiner Methoden- und Ereignisanbieter ist. Sie können jedoch Registrierungsdaten über Methoden wie EnumKey oder EnumValue abrufen.
Win32_Registry ist im Namespace „root\cimv2“ enthalten und ruft Daten über die Registrierung als Ganzes ab, z. B. deren Größe.
|
||||||||
Erstellen eines neuen Registrierungsschlüssels | Verwenden Sie die Klasse StdRegProv (enthalten im Namespace „root\default“) und die Methode CreateKey.
|
||||||||
Erstellen eines neuen Registrierungswerts unter einem Schlüssel | Verwenden Sie die Klasse StdRegProv (enthalten im Namespace „root\default“) und die Methode CreateKey. Verwenden Sie anschließend je nach Datentyp des Registrierungswerts eine der Set-Methoden, z. B. SetDWORDValue. Die Set-Methoden erzeugen einen Wert, falls dieser nicht schon vorhanden ist. Weitere Informationen finden Sie unter Zuordnen eines Registrierungsdatentyps zu einem WMI-Datentyp.
|
||||||||
Vermeiden eines Fehlers „Ungültige Klasse“ beim Schreiben eines Skripts zum Lesen der Registrierung | Verwenden Sie beim Zugriff auf die Klasse StdRegProv den Namespace „root\default“. StdRegProv ist nicht im Namespace „cimv2“ enthalten. Deshalb wird eine Fehlermeldung „Ungültige Klasse“ generiert, wenn Sie versuchen, eine Verbindung mit „root\cimv2:StdRegProv“ herzustellen.
|
||||||||
Überprüfen der Sicherheit für einen spezifischen Registrierungsschlüssel | Verwenden Sie die Klasse StdRegProv (enthalten im Namespace „root\default“) und die Methode CheckAccess. Sie können die Zugriffsrechte nur für die Benutzer*innen überprüfen, die das Skript oder die Anwendung derzeit ausführen. Die Zugriffsrechte für andere angegebene Benutzer*innen können nicht überprüft werden. |
||||||||
Lesen und Schreiben binärer Registrierungswerte | Verwenden Sie die Klasse StdRegProv (enthalten im Namespace „root\default“) und die Methoden GetBinaryValue und SetBinaryValue. Registrierungswerte, die im Hilfsprogramm RegEdt32 als eine Reihe von Byte-Hexadezimalwerten angezeigt werden, haben das Datenformat REG_BINARY. Weitere Informationen finden Sie unter Zuordnen eines Registrierungsdatentyps zu einem WMI-Datentyp. Im folgenden VBScript-Codebeispiel wird ein neuer Schlüssel mit einem Binärwert erstellt. Der Binärwert wird im Bytearray iValues bereitgestellt, das im Hexadezimalformat angegeben ist.
Das folgende Skript liest den Binärwert.
|
||||||||
Lesen und Schreiben von Registrierungswerten, die mehrere Zeichenfolgen enthalten | Verwenden Sie die Klasse StdRegProv (enthalten im Namespace „root\default“) und die Methoden GetMultiStringValue und SetMultiStringValue. Registrierungsschlüssel, die im Hilfsprogramm RegEdt32 als eine Reihe von durch Leerzeichen getrennten Zeichenfolgen angezeigt werden, haben das Datenformat REG_MULTI_SZ. Weitere Informationen finden Sie unter Zuordnen eines Registrierungsdatentyps zu einem WMI-Datentyp. Das folgende VBScript-Codebeispiel erstellt einen neuen Schlüssel und einen neuen mehrteiligen Zeichenfolgenwert.
Das folgende Skript liest den mehrteiligen Zeichenfolgenwert.
|
||||||||
Entfernen eines Registrierungsschlüssels | Verwenden Sie die Klasse StdRegProv (enthalten im Namespace „root\default“) und die Methode DeleteKey.
|