1- if not exist " C:\Users\Public\Downloads\sysmon.xml" (
2- copy /z /y " \\DomainControllerHostname\NETLOGON\sysmon.xml" " C:\Users\Public\Downloads\sysmon.xml"
3- sysmon -c " C:\Users\Public\Downloads\sysmon.xml"
1+ @ echo off
2+ setlocal EnableExtensions EnableDelayedExpansion
3+
4+ rem ----- Configuration -------------------------------------------------
5+ set " XML = \\DomainControllerHostname\NETLOGON\sysmon-config.xml"
6+ set " EXE = \\DomainControllerHostname\NETLOGON\sysmon.exe"
7+ set " LOG = %TEMP% \sysmon_deploy_%COMPUTERNAME% .log"
8+
9+ rem ----- Logging start -------------------------------------------------
10+ (
11+ echo ==== %DATE% %TIME% ====
12+ echo Deploying Sysmon on %COMPUTERNAME%
13+ ) > " %LOG% "
14+
15+ rem ----- Install if missing -----------------------------------------
16+ sc query Sysmon > nul 2 >& 1
17+ if errorlevel 1060 (
18+ echo Installing Sysmon... >> " %LOG% "
19+ " %EXE% " -accepteula -i " %XML% " >> " %LOG% " 2 >& 1
20+ if errorlevel 1 (
21+ echo [!] Installation failed >> " %LOG% "
22+ goto :eof
23+ )
24+ ) else (
25+ echo Sysmon already installed >> " %LOG% "
426)
5-
6- sc query " Sysmon" | Find " RUNNING"
7- If " %ERRORLEVEL% " EQU " 1" (
8- goto startsysmon
27+
28+ rem ----- Start & verify ---------------------------------------------
29+ net start Sysmon > nul 2 >& 1
30+ if errorlevel 2 (
31+ echo Sysmon already running or start returned error 2 >> " %LOG% "
32+ ) else (
33+ sc query Sysmon | findstr /I " RUNNING" > nul
34+ if errorlevel 1 (
35+ echo [!] Sysmon not RUNNING after start >> " %LOG% "
36+ ) else (
37+ echo Sysmon is RUNNING >> " %LOG% "
38+ )
939)
10- :startsysmon
11- net start Sysmon
12-
13- If " %ERRORLEVEL% " EQU " 1" (
14- goto installsysmon
15- )
16- :installsysmon
17- " \\DomainControllerHostname\NETLOGON\sysmon.exe" /accepteula -i C:\Users\Public\Downloads\sysmon.xml
40+
41+ endlocal
0 commit comments