Website-Icon .: blog cscholz.io :.

Windows 2003: dhcp client – access denied

So wie es aussieht, versucht der Conficker oder ein anderer Virus momentan auf einigen Maschinen den DHCP Dienst zu deaktivieren, indem er in der Registry dem "Network Service" die Berechtigung nimmt, Informationen aus dem Schlüssel HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDhcpParameters zu lesen. Das Ergebniss ist, dass der DHCP Client nicht mehr startet und sich der Server somit nicht mehr korrekt im DNS registriert. Der Dienst lässt sich auch nicht mehr maneull starten.

Man kann nun die Registry Berechtigungen manuell korrigieren, aber dies ist bei mehreren Server relativ aufwendig. Daher habe ich eine Batch Datei geschrieben, die prüft ob der dhcp client läuft, wenn nicht werden die Berechtigungen korrigiert und der Dienst neu gestartet.

@echo off

REM ########################################################
REM ## checking dhcp service permission
REM ########################################################
del %temp%dhcpservice.log
echo reading registry permission for DHCP Client service...
sc query "DHCP" | find /i "state" >nul 2>nul
\domain.tldNETLOGONsubinacl.exe /nostatistic /noverbose /outputlog=%temp%dhcpservice.log /keyreg HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDhcpParameters /display

:: recognize os language
echo %USERPROFILE% |find /i "Documents" >nul 2>nul
if %errorlevel%==0  goto englisch_os

echo %USERPROFILE% |find /i "Dokumente" >nul 2>nul
if %errorlevel%==0  goto german_os

goto exit

:englisch_os
echo englisch os detected...
type %temp%dhcpservice.log |find /i "network service" >nul 2>nul
if %errorlevel% NEQ 1 goto good_perm
goto e_set_perm

:german_os
echo german os detected...
type %temp%dhcpservice.log |find /i "netzwerkdienst" >nul 2>nul
if %errorlevel% NEQ 1 goto good_perm
goto g_set_perm

:e_set_perm
echo reparing enlgisch os permissions...
\domain.tldNETLOGONsubinacl.exe /noverbose /subkeyreg HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDhcpParameters /grant="network service"=F >nul 2>nul
echo starting dhcp service
sc start dhcp
goto exit

:g_set_perm
echo reparing german os permissions...
\domain.tldNETLOGONsubinacl.exe /noverbose /subkeyreg HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDhcpParameters /grant="netzwerkdienst"=F >nul 2>nul
echo starting dhcp service
sc start dhcp
goto exit

:good_perm
echo permissions are correct. Nothing changed...
goto exit

:exit
Die mobile Version verlassen