Windows Server: im Leerlauf befindliche Sitzungen auf Dateifreigaben per Batch beenden

Bei Fileservern oder servergespeicherten Profilen kann es zu abgestorbenen, im Leerlauf befindlichen Sitzungen kommen, die mitunter Probleme verursachen können. Abhilfe kann eine Batchdatei schaffen, die per Aufgabenplanung automatisiert zu einem bestimmten Zeitpunkt ausgeführt wird.

Dazu diesen Quellcode in eine Batchdatei einfügen und abspeichern und mit der Aufgabenplanung automatisieren:

@echo off
setlocal ENABLEDELAYEDEXPANSION
for /F "Tokens=1-8*" %%a in ('net session^|Find "\"') do (
 call :sess %%a %%b %%c %%d %%e %%f %%g %%h %%i
 @echo !comp! !idle!
)
endlocal
goto :EOF
:sess
set comp=%1
set idle=00:00:00
:sessL
shift
if \{%1\}==\{\} goto sessT
set idle=%1
goto sessL
:sessT
for /f "Tokens=1 Delims=:" %%x in ('@echo %idle%') do (
 if "%%x" GTR "01" net session %comp% /DELETE
)

Kommentar verfassen