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

Printed on: December 2, 2024 at 17:12 o'clock

Looser27
Looser27 Sep 08, 2022 at 09:24:24 (UTC)
Goto Top
Moin,

warum machst Du sowas nicht per GPO?

Gruß

Looser
Cloudrakete
Cloudrakete Sep 08, 2022 at 09:28:23 (UTC)
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
Solution TK1987 Sep 08, 2022 at 09:47:50 (UTC)
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 Sep 08, 2022 at 12:41:55 (UTC)
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