Um nun dem Helpdesk eine Möglichkeit an die Hand zu geben, welcher User von welcher Maschine aus gesperrt wurde, kann man sich per VBScript an das EventLog des PDCs binden. Wie schon besprochen, wird auf dem PDC ein Eintrag mit der ID: 644 erstellt. Ein solches Script könnte z.B. so aussehen:
strComputer = “.”
Set objWMIService = GetObject(”winmgmts:{(Security)}\\” & _
strComputer & “\root\cimv2″)
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
(”Select * from __InstanceCreationEvent Where ” _
& “TargetInstance ISA ‘Win32_NTLogEvent’ ” _
& “and TargetInstance.EventCode = ‘644′ ” _
& “and TargetInstance.LogFile = ‘Security’ “)
Do
Set objLatestEvent = colMonitoredEvents.NextEvent
set fso = createobject(”scripting.filesystemobject”)
set tf = fso.OpenTextFile(”c:\\act_lockout.log”,8, true)
tf.write(objLatestEvent.TargetInstance.TimeWritten & vbtab)
tf.write(objLatestEvent.TargetInstance.User & vbtab)
tf.write(objLatestEvent.TargetInstance.Message)
tf.close()
Loop
Das hier gezeigt Script hält jeden Account Lockout in einer Log-Datei fest. Dies ist in größeren Umgebungen oftmals einfacher als das EventLog des PDCs zu durchsuchen. Damit dieses Script ständig läuft, kann das Script als Scheduled Task eingerichtet werden, der nach dem Booten startet.
Um mehr Daten aus dem EventLog zu erhalten, kann das Script modifiziert werden. Alle Event Informationen können über Win32_NTLogEvent abgefragt werden:
http://msdn2.microsoft.com/en-us/library/aa394226(VS.85).aspx
to be continued…