|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Поиск подстроки в файле с последующей заменой подстроки (многопользовательский досту) |
|
VBS/WSH/JS - [решено] Поиск подстроки в файле с последующей заменой подстроки (многопользовательский досту)
|
Старожил Сообщения: 208 |
Доброго времени суток!
Прощу помощи при решении следующего вопроса! Необходим скрипт, который будет закинуть в GPO и при залогиневании пользователя будет записывать информацию в файл о том кто и откуда залогинелся. Предположительно содержимое файла будет выглядеть следующим образом: Цитата:
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-адрес отличается от того, что был в файле, то заменить его на новый. Ещё не очень понимаю, как быть при варианте, что несколько людей залогинелись одновременно и файл будет открыт сразу несколькими пользователя. Заранее спасибо всем кто откликнется и поможет реализовать данную задачу хотя бы частично. |
||
Отправлено: 14:16, 28-11-2013 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать pogo, какой из скриптов в этой теме вы именуете «первым», и какая строка в нём под номером 32?
|
Отправлено: 16:45, 05-12-2013 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 208
|
Профиль | Отправить PM | Цитировать Ой, что-то не подумал что в теме уже куча скриптов.
Под "первым" я имел ввиду вот этот: ' Получение IP-адреса компьютера Dim objWMIService, IPConfigSet, strComputer, ip 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, objUser Set objADSystemInfo = CreateObject("ADSystemInfo") Set objUser = GetObject("LDAP://" & objADSystemInfo.UserName) strUserName = objUser.sn + " " + objUser.GivenName ' Создание файла с IP-адресом в имени и именем пользователя в теле файла. Dim objFSO, file Set objFSO = CreateObject("Scripting.FileSystemObject") Set file = objFSO.CreateTextFile("\\server\vbs\" & ip & "", True) file.Write strUserName 'WScript.Echo "Script complite" В общем проблема была решена следующим образом: В Control Panel -> All Control Panel -> Region and Language. Вкладка Formats, поле Format указал Russia Вкладка Location, поле Current location указал Russia Вкладка Administrative -> Change system locale... указал Russian (Russia) (После изменения этого поля система попросит перезагрузиться) Ребутнулся и вроде ошибка пропала. |
Отправлено: 17:53, 05-12-2013 | #12 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать pogo, достаточно странно. В указанной строке вроде бы нет никаких зависимостей от региональных настроек.
|
Отправлено: 17:59, 06-12-2013 | #13 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Как получить значение искомой подстроки в строке? | Loki3D | Скриптовые языки администрирования Windows | 11 | 24-02-2018 08:37 | |
Replacer - утилита для замены подстроки в файле | apozlevich | AutoIt | 4 | 16-10-2013 23:37 | |
VBS/WSH/JS - Поиск в одном текстовом файле с заменой в другом | cortes_ | Скриптовые языки администрирования Windows | 1 | 21-09-2013 13:58 | |
C/C++ - [решено] Поиск и замена в тексте (извлечение подстроки) | dima1981 | Программирование и базы данных | 10 | 21-03-2010 15:50 | |
Создание подстроки в Word'e | kop4enyi | Хочу все знать | 2 | 10-07-2008 12:55 |
|