xvoct
16-04-2010, 14:32
итак, требуется записывать в лог время входа пользователя в систему и время выхода (затем подсчитать время работы, но это реализуется макросом в экселе).
написал батник для установки по сети:
@echo off
:list
if exist ok_list.log (
set /p dellst="Overwrite ok_list? (Y/N):"
) else goto png
if %dellst%==y del /f /q ok_list.log && goto png
if %dellst%==n (
echo "ok_list.log not created"
goto end
) else (
echo error && goto list
)
:png
echo. >>errorlog.log
echo - %date% %time% - >>errorlog.log
for /f %%i in (regadd.txt) do (
ping %%i -n 1
if errorlevel==1 (
echo %%i not available >>errorlog.log
) else (
echo %%i ok >>ok_list.log
)
)
echo -------------------------- >>errorlog.log
echo.
goto addreg
:addreg
set /p addreg="Add to startup on available computers?(Y/N):"
if %addreg%==y goto add
if %addred%==n (
goto end
) else (
echo error && goto addreg
)
:add
for /f %%k in (ok_list.log) do reg add "\\%%k\HKLM\Software\Microsoft\Windows\CurrentVersion\Run" /v login_log /t REG_EXPAND_SZ /d \\vkoho\soft\login\login.bat /f
pause >nul
:end
exit
- берет из списка имена машин
- пингует
- те, что пингуются в один лог, те что не пингуются - в другой
- берет список тех, что пингуются и закидывает в стартап следующий батник:
@echo off
set t=%time:~0,-3%
echo %computername% %username% %date% %t% >>\\vkoho\soft\login\log\%username%.xls
exit
интересует как можно записать в лог выход пользователя из системы. насколько я понимаю для этого можно запустить батник как процесс и записать момент его завершения, но делать я этого не умею.
кто поправит возможно присутствующую кривизну также буду благодарен
написал батник для установки по сети:
@echo off
:list
if exist ok_list.log (
set /p dellst="Overwrite ok_list? (Y/N):"
) else goto png
if %dellst%==y del /f /q ok_list.log && goto png
if %dellst%==n (
echo "ok_list.log not created"
goto end
) else (
echo error && goto list
)
:png
echo. >>errorlog.log
echo - %date% %time% - >>errorlog.log
for /f %%i in (regadd.txt) do (
ping %%i -n 1
if errorlevel==1 (
echo %%i not available >>errorlog.log
) else (
echo %%i ok >>ok_list.log
)
)
echo -------------------------- >>errorlog.log
echo.
goto addreg
:addreg
set /p addreg="Add to startup on available computers?(Y/N):"
if %addreg%==y goto add
if %addred%==n (
goto end
) else (
echo error && goto addreg
)
:add
for /f %%k in (ok_list.log) do reg add "\\%%k\HKLM\Software\Microsoft\Windows\CurrentVersion\Run" /v login_log /t REG_EXPAND_SZ /d \\vkoho\soft\login\login.bat /f
pause >nul
:end
exit
- берет из списка имена машин
- пингует
- те, что пингуются в один лог, те что не пингуются - в другой
- берет список тех, что пингуются и закидывает в стартап следующий батник:
@echo off
set t=%time:~0,-3%
echo %computername% %username% %date% %t% >>\\vkoho\soft\login\log\%username%.xls
exit
интересует как можно записать в лог выход пользователя из системы. насколько я понимаю для этого можно запустить батник как процесс и записать момент его завершения, но делать я этого не умею.
кто поправит возможно присутствующую кривизну также буду благодарен