Set PSUtilLoc=\\server5\PsTools For /F "tokens=1,2,*" %%i in ('Dir %0 ^| Find "Directory"') Do Set dirloc=%%k If Not Exist "%dirloc%\Logs" Mkdir "%dirloc%\Logs" For /F "tokens=1,*" %%i in ("%date%") Do Set daterev=%%j For /F "tokens=1,2,3 delims=: " %%i in ("%time%") Do Set timerev=%%i:%%j For /F "tokens=1,2,3 usebackq" %%i in ("%dirloc%\Servers.txt") Do (Set server=%%i) & (Call :Testem) Echo Run complete Goto :EOF
:Testem If Exist "%dirloc%\Logs\%server%-Userlog.tsv" Goto :Next Echo _User Domain\IDs_>>"%dirloc%\Logs\%server%-Userlog.tsv"
:Next For /F "tokens=1,2,3,*" %%i in ('%PSUtilLoc%\psloggedon.exe \\%server% ^| Find "/" ^| Find /I /V "%server%"') Do Echo %%l>>"%dirloc%\Logs\%server%-Userlog.tsv" Move "%dirloc%\Logs\%server%-Userlog.tsv" "%dirloc%\Logs\%server%-UserlogTemp.tsv" Sort "%dirloc%\Logs\%server%-UserlogTemp.tsv" > "%dirloc%\Logs\%server%-UserlogTempSorted.tsv" For /F "tokens=* usebackq" %%i in ("%dirloc%\Logs\%server%-UserlogTempSorted.tsv") Do (Set line=%%i) & (Call :Filter) If Exist "%dirloc%\Logs\%server%-UserlogTemp.tsv" Del "%dirloc%\Logs\%server%-UserlogTemp.tsv" If Exist "%dirloc%\Logs\%server%-UserlogTempSorted.tsv" Del "%dirloc%\Logs\%server%-UserlogTempSorted.tsv" Goto :EOF
:: НАЧАЛО БЛОКА A :Filter If /I "%line%"=="%prevline%" Goto :Skip Echo %line%>>"%dirloc%\Logs\%server%-Userlog.tsv" Set prevline=%line%