Прощу помощи при решении следующего вопроса!
Необходим скрипт, который будет закинуть в GPO и при залогиневании пользователя будет записывать информацию в файл о том кто и откуда залогинелся.
Предположительно содержимое файла будет выглядеть следующим образом:
Цитата:
28.11.2013 12.00.01 192.168.0.10 Иванов Иван
28.11.2013 12.00.55 192.168.0.16 Петров Пётр
Собственно с этим больших проблем нет:
Код:
Код: Выделить всё
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set IPConfigSet = objWMIService.ExecQuery ("Select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each IPConfig in IPConfigSet
If Not IsNull(IPConfig.IPAddress) Then
ip = IPConfig.IPAddress(0)
End If
Next
Dim objADSystemInfo, objComp, objUser
Set objADSystemInfo = CreateObject("ADSystemInfo")
Set objUser = GetObject("LDAP://" & objADSystemInfo.UserName)
strUserName = objUser.sn + " " + objUser.GivenName
Dim objFSO, file
Const ForWriting = 2
strSourceFile = ".\Ip2Name.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set file = objFSO.OpenTextFile(strSourceFile, ForWriting, True)
file.Write Date & " " & Time & vbTab & ip & vbTab & strUserNameПодскажите пожалуйста, как сделать построчное чтение с последующей заменой подстроки. Например:
Иванов Иван в 09.00 залогинелся на компьютере с IP-адресом 192.168.0.10. В 14.00 тот же пользователь Иванов Иван, пересел за др. компьютер с IP-адресом 192.168.0.20 и начал работать за ним.
Требуется, что бы при логине пользователя, производился поиск по Фамилии\Имени и сравнивался IP-адрес, если IP-адрес отличается от того, что был в файле, то заменить его на новый.
Ещё не очень понимаю, как быть при варианте, что несколько людей залогинелись одновременно и файл будет открыт сразу несколькими пользователя.
Заранее спасибо всем кто откликнется и поможет реализовать данную задачу хотя бы частично.