28. Eine Reg-Datei in eine Batchdatei integrieren - einfachste Möglichkeit


Der Sternenhimelstuermer analysierte mehre Batchdateien im Internet, um eine Möglichkeit zu finden, auf eine
einfache Art Eine Reg-Datei in eine Batchdatei zu integrieren.

Dabei fiel ihm eine Hilfskonstruktion in Batchdateien auf, mit deren Hilfe jeder Befehl einer Reg-Datei leicht
in eine Batchdatei integriert wird.

Der Trick: Es wird mit Hilfe der Kommandozeile "temporär" Zeile für Zeile eine Reg-Datei erstellt,
die Reg-Datei ausgeführt und danach die Regdatei gelöscht.

Der langwierige Weg, die Befehle in einen reg add Befehl zu transformieren (schwer und mit ungewissem Ausgang...),
entfällt.

Diese Verfahrensweise ist ebenso simpel wie effektiv.

Der Sternenhimmelstürmer stellt diese Verfahrensweise anhand eines Befehls zur Einschaltung der UAC
(siehe auch UAC-Einmaleins) vor.

Nach der Beschreibung sollten Sie fähig sein, eine beliebige Reg-Datei in eine Batchdatei zu konvertieren:

Hier erstmal der Code der Regdatei - danach die Beschreibung der einzelnen Zeilen :

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"ConsentPromptBehaviorAdmin"=dword:00000001 


So sieht erstmal der Code in der Reg-Datei aus. Hier wird der Wert für UAC auf die schärfste Stufe
eingestellt:

- Abdunklung (secure Desktop)
- Nachfragen bei allen Programmen und Aktionen mit Admin.-Rechten
- zusätzlich: manuelle Kennworteingabe, um Aktion zu bestätigen.

Diesen Code bringen wir nun in einen für die CMD lesbaren Code (Batchdatei), der wieder
diese Reg-Datei erstellt, ausführt, und dann die Reg-Datei nach verrichteter Arbeit zerstört:

@ECHO OFF
> "%windir%.\uac.reg" ECHO Windows Registry Editor Version 5.00
>>"%windir%.\uac.reg" ECHO.
>>"%windir%.\uac.reg" ECHO [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
>>"%windir%.\uac.reg" ECHO "ConsentPromptBehaviorAdmin"=dword:00000001
>>"%windir%.\uac.reg" ECHO.
start /wait regedit /s "%windir%.\uac.reg"
del "%windir%.\uac.reg"


Die entstandene Batchdatei muss als Administrator ausgeführt werden. UAC wird ohne
Nachfrage verschärft.

------

Einschub: How to eine Batchdatei oder Reg-Datei erstellen:

Den o. a. Text, so wie er ist in eine Textdatei kopieren (erkennbar an der Endung *.txt -
um sich Endungen anzeigen zu lassen in einem beliebigen Ordner - Organisieren - Layout -
Menüleiste aktivieren un dann in der angezeigten Menüleiste - Extras - Optionen -
Reiterkarte Ansicht : "Erweiterungen bei bekannten Dateitypen ausblenden" deaktivieren).

Danach unter beliebigen Namen speichern.

Schließlich für eine Batchdatei die Endung in *.bat und eine Regdatei *.reg umwandeln -
natürlich nur für den jeweiligen richtigen Code - sonst bringt es nichts....

----

Analyse des Codes:

Zeile 1:

@ECHO OFF - Nachfragen werden ausgeschaltet


Zeile 2

Hier nur ein Zeichen - etwas neues wird kreiert...
"%windir%.\uac.reg"  ...und zwar im Ordner Windows eine (temporäre) Reg-Datei;

Sie können auch gerne eine andere Umgebungsvariabel (%userprofile% , %temp% oder einen festen Pfad
verwenden - Umgebungsvariablen sind in der Regel besser...),

statt uac.reg ist auch jeder andere Name erlaubt - nur die Endung *.reg und eine durchgängige Fortführung
des anderen Namens sind zwingend...

Windows Registry Editor Version 5.00 ist die analoge erste Zeile im Registrierungseditor, die durch den
Echobefehl eingefügt wird.

Zeile 3

>>"%windir%.\uac.reg" ECHO.

Jetzt wird erstmal eine neue Zeile hinzugefügt. Zwischen jedem neuen Schlüssel kommt diese Zeile die zwei >>
Zeichen sind wichtig - hier wird eben was hinzugefügt und nicht überschrieben! Statt ein Befehl, kommt ein
Punkt. Den sollten Sie nie vergessen...

Zeile 4

>>"%windir%.\uac.reg" ECHO [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]

Und wieder arbeiten wir eine Zeile des Registrierungseditors ab. Diesmal wird die Originalzeile aus der Reg-Datei in die UAC-Reg
eingefügt. Bei Ihnen ist dann das ihr Schlüssel...Eine Erklärung ist wohl nicht mehr notwendig...

Zeile 5

>>"%windir%.\uac.reg" ECHO "ConsentPromptBehaviorAdmin"=dword:00000001

Jetzt wird der Schlüsselwert der Regdatei eingetragen - wieder die Originalzeile der Reg-Datei, die in der REG-Datei eingefügt wird..

Sie wollen weitere Werte in ihre Batchdatei eintragen?

Dann fügen Sie nach dem Schema aus Zeile 5 weitere Werte ein.....


Zeile 6 - Zeile 6,7 und 8 sind dann die gültige Abschlussformel mit ihren erstellten Namen! 

>>"%windir%.\uac.reg" ECHO.


Sie wollen weitere Schlüssel in ihre Batchdatei eintragen?

Sollten Sie einen weiteren Schlüssel einfügen wollen, so wird dieser in der nun fiktiven Zeile 7 aufgeführt, in der achten Zeile z. B. ein
weiterer Wert und dann zum Abschluss Zeile 6 - ist doch gar nicht so schwer...

Wichtig ist nur, dass am Ende einer Schlüssel/Wert- Kombination immer Zeile 6 steht-und das eben auch
nach der letzten Zeile!


Zeile 7

start /wait regedit /s "%windir%.\uac.reg"

Die Reg-Datei wurde in Zeile 6 in diesem Beispiel fertig gestellt. Das ist leider
nur die Halbe Miete.

Zeile 7 startet  nun unsere erstellte Reg.Datei im %windir%-Pfad ohne Rückmeldung. Wenn Sie nun
andere Pfade oder einen anderen Namen für die Datei verwendet haben, so müssen Sie diesen
Befehl dementsprechend anpassen...

Zeile 8

del "%windir%.\uac.reg"

Ordnung ist das halbe Leben. Als letztes wird die Datei uac.reg zerstört. Bis zu diesem Zeitpunkt wußte niemand außer
uns, dass es sich bei der uac.reg um eine quasi temporäre Datei  handelte, die nach ihrer Ausführung sich selbst - na ja,
eigentlich durch Ihren Erbauer - der cmd - wieder vernichtet wird.

In unserem Beispiel müssen Sie dann die cmd mit Administratorrechten ausführen.

Der Sternenhimmelstuermer wünscht Ihnen viel Spaß beim Erstellen Ihrer eigenen Batchdateien.

Suchen Sie sich doch Schlüssel im Registrierungseditor und exportieren Sie (rechte Maustaste auf Schlüssel - export).

Dann speichern Sie die Datei als Reg-Datei und hinterher gehen Sie mit der rechten Maustaste auf Bearbeiten.
Kopieren Sie den Text und transformieren den Code auf die o. a. Verfahrensweise...


Impressum
Datenschutz