Registry in Batch
Kann man einen Registry-Eintrag direkt in eine Batchdatei schreiben und von dort aus starten oder muss dafür immer der Registry-Eintrag in einer extra Datei stehen?
Danke im Voraus
JK
Danke im Voraus
JK
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 16301
Url: https://administrator.de/forum/registry-in-batch-16301.html
Ausgedruckt am: 26.12.2024 um 14:12 Uhr
15 Kommentare
Neuester Kommentar
@FaBMiN:
Also per "regedit /s <regdatei>" kann man eine Datei mit Registry-Einträgen ohne Nachfrage importieren. Mit dem was Du da schreibst, komm ich nicht ganz klar ...
@JK87:
Mit dem Kommandozeilen-Tool "reg" geht das. Ab WinXP ist es mit dabei, bei Win2000 kann man es glaub ich im Resorce-Kit finden.
Beispiel:
Gruss,
Thomas
Also per "regedit /s <regdatei>" kann man eine Datei mit Registry-Einträgen ohne Nachfrage importieren. Mit dem was Du da schreibst, komm ich nicht ganz klar ...
@JK87:
Mit dem Kommandozeilen-Tool "reg" geht das. Ab WinXP ist es mit dabei, bei Win2000 kann man es glaub ich im Resorce-Kit finden.
Beispiel:
reg add "HKEY_USERS\.DEFAULT\Control Panel\Keyboard" /v "InitialKeyboardIndicators" /t REG_SZ /d "2" /f
Gruss,
Thomas
*klatsch* War grad so in meine Trararra mit meinen RemoteApps, dass ich ganz vergass...wie recht du hast
Um es ganz schön zu machen würde ich:
Um es ganz schön zu machen würde ich:
%WINDIR%\SYSTEM32\cmdow.exe @ /HID
@echo off
SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunEinmal
REG ADD %KEY% /V TITLE /D "Der rennt nur einmal" /f
REG ADD %KEY%\001 /VE /D "Installationen werden vorbereitet..." /f (zum Beispiel)
REG ADD %KEY%\005 /VE /D "Treiber für DC7100 UltraSlim werden installiert..." /f
REG ADD %KEY%\005 /V 2 /D "%WINDIR%\SYSTEM32\msiexec.exe /i "BDrvInst.msi" /qn" /f
REG ADD %KEY%\005 /V 3 /D "\\Krankenhausserver\MenschMaschineKonsole\magendarmbeschwerden.exe" /f
Sicher doch, es geht (fast) alles ...
Schreibe "@echo off" davor und hinter die "reg"-Teile noch ">NUL", also
schnipp -----
schnipp -----
Kurz die Erklärung:
Mit @echo off wird die Befehlszeile nicht angezeigt bevor sie abgearbeitet wird. Mit dem >NUL schickst Du dann die Ausgabe des Befehls selbst ins Nirwana.
Gruss,
Thomas
Schreibe "@echo off" davor und hinter die "reg"-Teile noch ">NUL", also
schnipp -----
@echo off
reg add "HKEY_USERS\.DEFAULT\Control Panel\Keyboard" /v "InitialKeyboardIndicators" /t REG_SZ /d "2" /f >NUL
schnipp -----
Kurz die Erklärung:
Mit @echo off wird die Befehlszeile nicht angezeigt bevor sie abgearbeitet wird. Mit dem >NUL schickst Du dann die Ausgabe des Befehls selbst ins Nirwana.
Gruss,
Thomas
Was ihr alle mit reg.exe habt. Das muss man doch (bei Win2k) nachinstallieren. Meine Methode ist sehr viel öfter nutzbar:
Kleiner REG-File-Guide: Als Wertnamen ohne Anführung "@" schreiben bedeutet Standardwert.
Datentypen:
Wert löschen: "wertname"=-
Schlüssel löschen: [-Schlüssel]
Das sollte für die rudimentären Dinge ausreichen.
@echo off
echo REGEDIT4 > temp.reg
echo. >> temp.reg
echo [HKEY_NASENBÄR\usw] >>temp.reg
echo "mein wertname"="reg_sz_wert" >> temp.reg
regedit /s temp.reg
del temp.reg
Kleiner REG-File-Guide: Als Wertnamen ohne Anführung "@" schreiben bedeutet Standardwert.
Datentypen:
REG_SZ: "wertname"="string mit \" (Tipp am Rande: Anführung ist zu Escapen mit \)"
REG_DWORD: "wertname"=dword:hexwert, immer 8 Hexstellen, bsp. 00000001=1
REG_BINARY: "wertname"=hex:hexpaare, durch Space getrennt
Wert löschen: "wertname"=-
Schlüssel löschen: [-Schlüssel]
Das sollte für die rudimentären Dinge ausreichen.
hi
ich habe einen Registry-Schlüssel von meinem Rechner exportiert, dieser Schlüssel soll nun bei allen Beutzern die sich an die Domäne anmelden automatisch "nachinstalliert" werden.
Kann ich dieses Problem durch eine Batchdatei lösen?? Beim anmelden an die Domäne wird betreits eine Bachdateiausgeführt.
Gruß Steffen
ich habe einen Registry-Schlüssel von meinem Rechner exportiert, dieser Schlüssel soll nun bei allen Beutzern die sich an die Domäne anmelden automatisch "nachinstalliert" werden.
Kann ich dieses Problem durch eine Batchdatei lösen?? Beim anmelden an die Domäne wird betreits eine Bachdateiausgeführt.
Gruß Steffen
Hi,
ja, das geht. Aber nur wenn die User den Schlüssel auch selbst ändern dürfen. Ohne erweiterte Rechte sind das nur Schlüssel unter HKey_Current_User.
Einfach in die Login-Batch
reinschreiben, dann wird der Key ohne weitere Meldungen importiert. Du musst nur schauen dass der Pfad zur Datei auch angegeben ist.
Gruss,
Thomas
ja, das geht. Aber nur wenn die User den Schlüssel auch selbst ändern dürfen. Ohne erweiterte Rechte sind das nur Schlüssel unter HKey_Current_User.
Einfach in die Login-Batch
regedit /s regdatei.reg
reinschreiben, dann wird der Key ohne weitere Meldungen importiert. Du musst nur schauen dass der Pfad zur Datei auch angegeben ist.
Gruss,
Thomas
Ja, es sei denn, die Datei liegt auf dem lokalen Computer, dann kannst du dir den Servernamen klemmen.
Oh, ich seh gerade: STOPP: Fügst du der Pfadangabe noch das Laufwerk hinzu? Also, wenn die Datei hinter einer Freigabe liegt
(Tippe mal
Übrigens: die $-Freigaben sind nicht in
Tschö,
@nullplan001
Oh, ich seh gerade: STOPP: Fügst du der Pfadangabe noch das Laufwerk hinzu? Also, wenn die Datei hinter einer Freigabe liegt
(Tippe mal
net view \\servername
ein, um etwaige Freigaben zu erkennen), brauchst du das nicht zu machen. Wenn dem jedoch nicht so ist, musst du es über \\servername\l$\usw
versuchen (l$
ist in dem Fall eine Freigabe auf das Laufwerk l. Die im übrigen in jedem Windows mit NT-Kern (NT/200x/XP) standardmäßig aktiv ist. Ich hab sie bei mir im Netz jedoch ersetzt. Das geht. Frag, wenn du nicht sicher bist, deinen Admin.Übrigens: die $-Freigaben sind nicht in
net view
sichtbar.Tschö,
@nullplan001
Also so .reg-Schnippsel schmeisse ich mit ins Netlogin-Verzeichnis auf dem DC. Als Pfad kann man dann eine Systemvariable zur Hilfe nehmen:
Im Loginscript verwende ich immer gerne UNC-Pfade und keine Laufwerksbuchstaben, weil wenn z.B. das Netzlaufwerk nicht verbunden ist gehts sonst schief.
Den lokalen Rechner kann man ja auch über Variablen verwenden, \\%COMPUTERNAME%\Freigabe oder wenn es ein Laufwerk sein soll eben %SYSTEMDRIVE%.
Gruß,
Thomas
%LOGONSERVER%\Netlogon\diverse_Key.reg
Im Loginscript verwende ich immer gerne UNC-Pfade und keine Laufwerksbuchstaben, weil wenn z.B. das Netzlaufwerk nicht verbunden ist gehts sonst schief.
Den lokalen Rechner kann man ja auch über Variablen verwenden, \\%COMPUTERNAME%\Freigabe oder wenn es ein Laufwerk sein soll eben %SYSTEMDRIVE%.
Gruß,
Thomas