![]() |
Поиск подстроки в файле с последующей заменой подстроки (многопользовательский досту)
Доброго времени суток!
Прощу помощи при решении следующего вопроса! Необходим скрипт, который будет закинуть в GPO и при залогиневании пользователя будет записывать информацию в файл о том кто и откуда залогинелся. Предположительно содержимое файла будет выглядеть следующим образом: Цитата:
Код:
strComputer = "." Иванов Иван в 09.00 залогинелся на компьютере с IP-адресом 192.168.0.10. В 14.00 тот же пользователь Иванов Иван, пересел за др. компьютер с IP-адресом 192.168.0.20 и начал работать за ним. Требуется, что бы при логине пользователя, производился поиск по Фамилии\Имени и сравнивался IP-адрес, если IP-адрес отличается от того, что был в файле, то заменить его на новый. Ещё не очень понимаю, как быть при варианте, что несколько людей залогинелись одновременно и файл будет открыт сразу несколькими пользователя. Заранее спасибо всем кто откликнется и поможет реализовать данную задачу хотя бы частично. |
pogo, выбор текстового файла — не самая удачная идея. Лучше используйте базу данных. Во-первых, не будет коллизий при добавлении данных (что рано или поздно случится при попытке одновременного доступа к единому текстовому файлу), во-вторых, выборка в базе данных по логину+дате будет делаться банальнейшим запросом.
|
База данных мне кажется не очень хороший вариант, т.к. всё это делается, что бы в дальнейшем скормить файл lightsquid-у.
А поднимать тот же mysql, для того чтобы туда писать 2 значения (IP и ФИО), мне кажется это очень излишне. К тому же потом, до из базы как то значения доставить, запихивать в файл и кормить lightsquid-у. Если ещё идея, что бы каждый пользователь создавал отдельный файл с IP в имени и с ФИО в содержании. Но тут возникает вопрос, как потом из этого всего дела собирать 1 файл который опять-таки будет отдаваться lightsquid? |
Цитата:
Цитата:
Пример работы: Работа с базами данных при помощи ADO из vbscript: самостоятельная работа - AskIt.RU. Цитата:
Цитата:
P.S. Я не очень представляю себе, какой конечный формат текстового файла Вам нужен, равно как и зачем. Посему за него судить не берусь. |
Цитата:
Цитата:
Не могли бы Вы помочь в реализации, а то в vbs я не силён, а уж с базами это вообще темнота... Вот пытаюсь сделать по той ссылке, что Вы дали. Создал файл .mdb. Создал там таблицу со столбцами DataTime | IP | UserName. Поправил код: Код:
Dim cn, rs, strComputer Цитата:
|
pogo, кажется, я примерно понял Вашу мысль. Вы хотите как-то на основе логов доступа в интернет (вида локальный ip-адрес/удалённый адрес, время) и создаваемых логов входа/выхода пользователей на машины получить в итоге картинку вида кто куда ходил, так?
|
Да, Вы меня правильно поняли.
Есть Squid в прозрачном режиме проксирования, на нём висит Lightsquid, который берёт логи Squid и делает из них отчёты о посещаемых сайтах пользователями, данный отчёты в данный момент выглядят как: Цитата:
Правда у меня пока даже не получается в базу записать... Код:
Dim cn, rs, strComputer Цитата:
|
Т.к. проблему надо было решать "ещё вчера". Пришлось отказаться о товыряний с базой и пойти по протезному варианту, в итоге получилось так:
Получилось 2 скрипта: 1-ый, через GPO запускается при logon пользователя и создаёт файл. IP-адрес машины с которой залогинелись в имени файла. Имя пользователя, кто залогинелся, в теле файла. И потом созданный файл скидывается на сервер. Код:
' Получение IP-адреса компьютера Код:
Dim objFSO, objRootFolder, file_in, file_out, userName |
Цитата:
|
Подскажите пожалуйста.
При логине на несколько серверов под Win2012, первый скрипт выпадает в ошибку: Цитата:
|
pogo, какой из скриптов в этой теме вы именуете «первым», и какая строка в нём под номером 32?
|
Ой, что-то не подумал что в теме уже куча скриптов.
Под "первым" я имел ввиду вот этот: Код:
' Получение IP-адреса компьютера Код:
file.Write strUserName В Control Panel -> All Control Panel -> Region and Language. Вкладка Formats, поле Format указал Russia Вкладка Location, поле Current location указал Russia Вкладка Administrative -> Change system locale... указал Russian (Russia) (После изменения этого поля система попросит перезагрузиться) Ребутнулся и вроде ошибка пропала. |
pogo, достаточно странно. В указанной строке вроде бы нет никаких зависимостей от региональных настроек.
|
Время: 05:58. |
Время: 05:58.
© OSzone.net 2001-