Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] login\logoff запись времени при помощи батника (http://forum.oszone.net/showthread.php?t=173307)

xvoct 16-04-2010 14:32 1394076

login\logoff запись времени при помощи батника
 
итак, требуется записывать в лог время входа пользователя в систему и время выхода (затем подсчитать время работы, но это реализуется макросом в экселе).
написал батник для установки по сети:
Код:

@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

интересует как можно записать в лог выход пользователя из системы. насколько я понимаю для этого можно запустить батник как процесс и записать момент его завершения, но делать я этого не умею.

кто поправит возможно присутствующую кривизну также буду благодарен

zonderz 16-04-2010 14:59 1394090

xvoct,

один батник делайте на логон - другой на логофф
и вообще можете использовать eventlog и аудит учетных записей...

xvoct 16-04-2010 15:07 1394096

вот меня и интересует как сделать батник на логофф. евентлог хранится не в текстовом формате, экспорт руками в тхт не вариант.

zonderz 16-04-2010 15:36 1394123

Цитата:

Цитата xvoct
вот меня и интересует как сделать батник на логофф. »

Локальные политики безопасности - сценарии запуска
только не спрашивайте где они:)

vitaliyboch 16-04-2010 16:15 1394155

На локальном компьютере
Пуск -> Выполнить -> mmc.exe -> File -> Add/remove snap-in -> Group Policy Object Editor -> Add -> Finish -> Ok
Local Computer Policy -> User Configuration -> Windows Settings -> Scripts (Logon/Logoff)

По аналогии делается на уровне домена.

Ну или в реестре прописать вот тут HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group Policy\Scripts, что опаснее, так как тут сложнее заполнить все правильно.

xvoct 16-04-2010 20:31 1394335

zonderz, vitaliyboch
спасибо, особенно за путь в реестре, в понедельник буду тестить на работе.

zonderz 16-04-2010 23:20 1394457

Цитата:

Цитата vitaliyboch
Пуск -> Выполнить -> mmc.exe -> File -> Add/remove snap-in -> Group Policy Object Editor -> Add -> Finish -> Ok Local Computer Policy -> User Configuration -> Windows Settings -> Scripts (Logon/Logoff) »

с тоски помрешь, пока это наберешь. в 10 раз короче

xvoct 17-04-2010 00:00 1394478

я gpedit.msc набирал, потом экспортировал из реестра все что нужно.

xvoct 19-04-2010 15:03 1396197

еще проблема: не могу по сети закинуть нужные ключи в HKCU, так как машин достаточно много, делать это руками не хотелось бы. думал кинуть в RunOnce батник, чтобы тот при следующей загрузке прописал что надо, но у юзеров порезанные права. можно ли будет запустить его с администраторскими правами или есть еще какой нибудь способ?

vitaliyboch 19-04-2010 16:19 1396249

regedit.exe /s file.reg - попробуй так

zonderz 20-04-2010 04:31 1396621

Цитата:

Цитата xvoct
закинуть нужные ключи в HKCU »

Цитата:

Цитата xvoct
можно ли будет запустить его с администраторскими правами »

если вы запустите такой батник (батник для юзера, но с правами админа) он запишет данные в HKCU админа

Используйте ветку HKLM, в данном случае уже можно прописать скрипт в ГП (конф. компьютера) - скрип запустится с правами системы...


если вы хотите чтобы все-таки писалось в ветку HKCU, но у юзера нет прав к каким то веткам, то сначала дайте ему права (ГП, политики реестра), а затем вешайте батник на логон

xvoct 20-04-2010 11:02 1396733

если использовать HKLM выходит писаться будет только включение и выключение компьютера, мне же нужно учитывать время работы разных юзеров за одним компом. то есть пришел Иванов, залогинился, поработал, отлогинился... на его место пришел петров, зашел под своей учеткой, поработал и так далее.

amel27 20-04-2010 11:52 1396755

Цитата:

Цитата xvoct
мне же нужно учитывать время работы разных юзеров за одним компом »

включите аудит на вход/выход в политике безопасности, потом останется анализировать лог "Security" по определенному коду события

xvoct 20-04-2010 12:22 1396770

amel27, а как мне достать потом из этого лога события тем же батником, чтобы записать на сервер в папку с сегодняшним числом к примеру?

выходит поставить батник на логофф для всех учетных записей (имеющихся или созданных позже) невозможно?

zonderz 20-04-2010 14:48 1396896

Цитата:

Цитата xvoct
выходит поставить батник на логофф для всех учетных записей (имеющихся или созданных позже) невозможно? »

почему нет - прописывайте в политиках безопасности и все..

xvoct 20-04-2010 19:56 1397151

при закидывании нужных ключей в реестр HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group Policy\Scripts и файла scripts.ini в C:\Windows\System32\GroupPolicy\User\Scripts\ не работает. видимо при добавлении в gpedit в реестр закидываются еще какие то ключи, не нашел...


Время: 02:50.

Время: 02:50.
© OSzone.net 2001-