Помогите решить задачку. Батник периодически запускается и отслеживает время работы определенного юзера, имя и время работы в минутах задается параметром.
Система w2k3. Для определения логона используются коды 528(логон), 551 (логоф) журнала секюрити и утилита Руссиновича Pslogkist (в идеале лучше бы виндовое средство, но systeminfo не всегда правильно uptime системы определяет)
psloglist.exe -d 0 -s -id 551,528 security > 11.txt
Возможно надо еще | find "%usrname%" добавить
выдает все логоны логофы за последний день в таком виде.
[more]Security log on \\FILSRV:
728542,Security,Security,AUDIT SUCCESS,FILSERV,19.06.2009 11:19:43,528,Administrator\Dom_D,Successful Logon: User Name: Administrator Domain:Dom_d Logon ID: (0x0,0x35AA9AE) Logon Type: 7 Logon Process: User32 Authentication Package: Negotiate Workstation Name: FILSRV Logon GUID: {a3fa49de-bf71-077a-6591-b3d0df7e6830} Caller User Name: FILSRV$ Caller Domain: Caller Logon ID: (0x0,0x3E7) Caller Process ID: 320 Transited Services: - Source Network Address: 127.0.0.1 Source Port: 0 [/more]
Собственно что надо
1. - посчитать время работы от логона до логофа в минутах (имхо не совсем правильно ибо в случае бсода логофа не будет
. Поэтому возможно надо анализировать и журнал систем на предмет событий 6008 (за эти же сутки) для определения времени окончания работы юзера.
8552,System,EventLog,ERROR,FILSRV,01.06.2009 13:29:08,6008,None,The previous system shutdown at 13:22:57 on 01.06.2009 was unexpected.
2. Посчитать общее время работы юзера.При превышении лимита скорее всего убивать експлорер с задержкой 5 мин и предупреждающим окошком ( ну или логоф).