fugu
Goto Top

Registry per Batch ändern

Hallo Com und speziell an die Code-Gurus face-smile

Ich möchte gerne per Batch einen REG wert prüfen und ggf. ändern.
Hier erst mal mein "Stand der Dinge":

@echo off
set Pfad="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power"  
reg query %Pfad% /f HiberbootEnabled

for /f "tokens=2* skip=2" %%a in ('reg query %Pfad% /f "HiberbootEnabled"') do echo %%b  
if %%b=="0x1" (  
echo 'Das muss anders'  
)

Die erste reg query ist natürlich unnötig - die war nur zum Herausfinden, wie der Befehl überhaupt funktioniert.

Mein Ziel ist herauszufinden, ob der Wert auf "1" steht - und falls ja, ihn auf "0" zu ändern.
Aber ich bekomme die if-Abfrage nicht hin und wie ich einen Wert in der REG ändern kann, habe ich auch noch nicht herausgefunden - nur, dass man Werte importieren kann. Ich kann aber technisch in meinem Spezialfall nicht auf eine zusätzliche .reg Datei zeigen... Ich müsste das innerhalb der Batch abhandeln.

Hat da einer von euch 'ne Idee?

Greetz fugu

Content-ID: 3875354882

Url: https://administrator.de/contentid/3875354882

Ausgedruckt am: 22.11.2024 um 07:11 Uhr

Looser27
Looser27 08.09.2022 um 11:24:24 Uhr
Goto Top
Moin,

warum machst Du sowas nicht per GPO?

Gruß

Looser
Cloudrakete
Cloudrakete 08.09.2022 um 11:28:23 Uhr
Goto Top
Oder via PowerShell …
Ich verweise mal auf einen guten Artikel von Thomas Maurer https://www.thomasmaurer.ch/2010/08/powershell-changing-registry-key-val ...
TK1987
Lösung TK1987 08.09.2022 um 11:47:50 Uhr
Goto Top
Moin,

mit Batch etwa so:
@echo off
set Key=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power
for /f "Tokens=3 Skip=1" %%A in ('reg query "%Key%" /f HiberbootEnabled') do (  
  if "%%A" neq "0x0" reg add "%Key%" /v HiberbootEnabled /t REG_Dword /d 0 /f  
  goto :EoF
)

Wie @Cloudrakete aber schon sagte, geht das mit Powershell deutlich sauberer.
$Key="HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power"  
if ((Get-ItemPropertyValue -Path $Key -Name "HiberBootEnabled") -ne 0) {  
  Set-ItemProperty -Path $Key -Name "HiberBootEnabled" -Value 0  
}

Das für die Bearbeitung des Hives HKLM Administratorrechte von nöten sind, die Skripte also in beiden Fällen mit solchen ausgeführt werden müssen, ist hoffentlich klar.

Gruß Thomas
fugu
fugu 08.09.2022 um 14:41:55 Uhr
Goto Top
Perfekt Leute - vielen Dank!
GPO steht als Option nicht zur Verfügung. Das Script wird außerhalb der normalen Benutzeranmeldung als System-Benutzer ausgeführt - Rechte sind also nicht mein Problem face-smile

Thnx fugu