Windows Dienst als LocalSystem und auslesen von Variablen?
Hallo lieber User,
ich habe ein Problem wo ich nicht so recht weiterkomme. Ein Mailserver nutzt ClamAV als Virenscanner
und übergibt als Variable die Mail an eine auszuführende Datei, in meinem Fall eine BATCH unter
Windows 2000 Prof. Diese BATCH testet dann die Mail auf Viren ...
Der Mailserver läuft als Dienst unter dem LocalSystem Account.
Zustand:
CLS
@echo SCRIPT ZUM SCANNEN AUF VIREN IN E-MAIL
@echo --------------------------------------
@echo.
@echo OFF
:: -----------------------------------------------
:: Optionen für %1: Maildatei / HMail
:: -----------------------------------------------
::==============================================================================================================
SET ACTIVE=0
SET RES=C:\XXX
SET SCPT=C:\XXX\XXXX
SET TIMENOW=%time:~0,5%
SET DATENOW=%date:~3,10%
SET BLAT=C:\XXX\BLAT
IF %ACTIVE% == 0 GOTO MAILSTATE (
SET ACTIVE=
GOTO ACTION
)
::==============================================================================================================
:MAILSTATE
IF !%MAILSTATE%! == !! SET /A MAILSTATE=0
IF %MAILSTATE% GEQ 1 GOTO END (
SET /A MAILSTATE=%MAILSTATE%+1
%RES%\SYSTEM\VARIABLE\SETX MAILSTATE %MAILSTATE% -m
%BLAT% -server 1.1.1.1 -f xxx@mail.com -t xxxx@mail.com -s "CLAMDSCAN HMAIL: Script ist deaktiviert!" -body "CLAMDSCAN: Script am %DATENOW% um %TIMENOW% ist deaktiviert!"
SET ACTIVE=
SET ERROR=0
GOTO END
)
... bla bla bla ...
:END
Problem:
Das Script kann durch die Variable ACTIVE ein- und ausgeschaltet werden. Wenn ACTIVE nun auf 0 (ausgeschaltet) steht, soll EINE Nachricht
verschickt werden, die sich in einer IF Anweisung befindet. Allerdings nur einmal durch die Abfrage der Variable MAILSTATE. Wenn ich mir
mit SET die Variablen anzeigen lasse, wird sie korrekt auf 1 hochgezählt.
Klappt aber leider nicht, da die Variable MAILSTATE scheinbar nicht ausgelesen wird. Es wird ständig eine neue Nachricht verschickt!
Ich befürchte deshalb, dass die Variable unter dem LocalSystem Account nicht ausgelesen werden kann.
Und bitte nicht schlagen ...
Lieben Gruß
AngeloS
ich habe ein Problem wo ich nicht so recht weiterkomme. Ein Mailserver nutzt ClamAV als Virenscanner
und übergibt als Variable die Mail an eine auszuführende Datei, in meinem Fall eine BATCH unter
Windows 2000 Prof. Diese BATCH testet dann die Mail auf Viren ...
Der Mailserver läuft als Dienst unter dem LocalSystem Account.
Zustand:
CLS
@echo SCRIPT ZUM SCANNEN AUF VIREN IN E-MAIL
@echo --------------------------------------
@echo.
@echo OFF
:: -----------------------------------------------
:: Optionen für %1: Maildatei / HMail
:: -----------------------------------------------
::==============================================================================================================
SET ACTIVE=0
SET RES=C:\XXX
SET SCPT=C:\XXX\XXXX
SET TIMENOW=%time:~0,5%
SET DATENOW=%date:~3,10%
SET BLAT=C:\XXX\BLAT
IF %ACTIVE% == 0 GOTO MAILSTATE (
SET ACTIVE=
GOTO ACTION
)
::==============================================================================================================
:MAILSTATE
IF !%MAILSTATE%! == !! SET /A MAILSTATE=0
IF %MAILSTATE% GEQ 1 GOTO END (
SET /A MAILSTATE=%MAILSTATE%+1
%RES%\SYSTEM\VARIABLE\SETX MAILSTATE %MAILSTATE% -m
%BLAT% -server 1.1.1.1 -f xxx@mail.com -t xxxx@mail.com -s "CLAMDSCAN HMAIL: Script ist deaktiviert!" -body "CLAMDSCAN: Script am %DATENOW% um %TIMENOW% ist deaktiviert!"
SET ACTIVE=
SET ERROR=0
GOTO END
)
... bla bla bla ...
:END
Problem:
Das Script kann durch die Variable ACTIVE ein- und ausgeschaltet werden. Wenn ACTIVE nun auf 0 (ausgeschaltet) steht, soll EINE Nachricht
verschickt werden, die sich in einer IF Anweisung befindet. Allerdings nur einmal durch die Abfrage der Variable MAILSTATE. Wenn ich mir
mit SET die Variablen anzeigen lasse, wird sie korrekt auf 1 hochgezählt.
Klappt aber leider nicht, da die Variable MAILSTATE scheinbar nicht ausgelesen wird. Es wird ständig eine neue Nachricht verschickt!
Ich befürchte deshalb, dass die Variable unter dem LocalSystem Account nicht ausgelesen werden kann.
Und bitte nicht schlagen ...
Lieben Gruß
AngeloS
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 95834
Url: https://administrator.de/forum/windows-dienst-als-localsystem-und-auslesen-von-variablen-95834.html
Ausgedruckt am: 27.04.2025 um 13:04 Uhr