![]() |
Изменение пути в INI файле по имени папки верхнего
Друзья, помогите разобраться вот с какой задачей.
Существует каталог D:\Users\%username%\Lotus\Data\ с файлами names.nsf и notes.ini %username% более 500 (папки пользователей) Задача: 1. Переименовать файл names.nsf и notes.ini в old_names.nsf и old_notes.ini соответственно (делаем бэкап) 2. Создать новый файл notes.ini (копируем из папки D:\Temp обязательно ) 3. В файл notes.ini находим строчку Directory=D:\Users\NNN\Lotus\Data и меняем "NNN" на имя папки %username% 4. Файл notes.ini должен иметь атрибут "все" - полный доступ (не обязательно, но желательно) Прошу помочь, т.к. все что смог сделать это скрипт который отрабатывает когда пользователь логинится на сервер и %username% подставляется без проблем (при создании новых профилей файл создается как надо), А вот переделать массово для "старых" пользователей - сделать исполняемый файл от администратора с подстановкой имени папки в текст файла notes.ini - не получается. Будет ли это BAT или VBS или powershell - не принципиально наверное. Но шел мне менее всего знаком :( |
Цитата:
Цитата:
Цитата:
|
0. Файлы меняются из-за замены сервера Lotus
1. Думаю содержимое файлов большого значения не имеет, т.к. в файле names.nsf хранится адресная книга пользователя привязанная к серверу с определенными настройками, а файл notes.ini хранит параметры авторизации на сервере, ключи шифрования и т.п. 2. Файл notes.ini базово содержит следующую информацию: [Notes] KitType=1 Directory=\\Server\Users$\%username%\Lotus\Data InstallType=6 MailServer=NewServerName Сейчас для новых пользователей скрипт копирует этот файл в папку пользователя и подменяет %username% на имя пользователя из ActiveDirectory. 3. Глубинного смысла нет. Просто у пользователя должно быть достаточно прав для редактирования файла, но т.к. файл подкидывается от имени администратора, то возможно он не сможет наследовать права юзера на папку. Группа "Все" надеюсь даст возможность польного доступа к файлу для пользователя. |
Цитата:
|
1. для редактирования ini-файлов есть специальная групповая политика - не нужно изобретать велосипед
2. конкретно для Lotus можно удалить Directiry из файла notes.ini и задать переменную окружения notes_Directory |
Busla, Вы хоть примерно поняли, что там за велосипед был изобретён? Я — толком нет.
|
Цитата:
Можете помочь сделать такой файл, который в цикле будет пробегать по вложенным папкам D:\Users$\ и удалять/дописывать в notes.ini необходимую информацию? Цитата:
|
Цитата:
Структура компонентов групповой политики. Часть 1: Цитата:
Работа с предпочтениями групповой политики: управление INI-файлами / Хабр Настройка элемента INI-файла Настройка элемента INI-файла и т.п. |
Цитата:
|
Elven, не, я про другое. Например, зачем что-то делать от имени администратора, если речь идёт про файл в профиле пользователя? Как и чем сие вообще делается сейчас (или предполагается сделать)? И т.п.
|
Цитата:
но при входе пользователя на терминальный сервер - скрипт не успевает отработать и изменить файл notes.ini Поэтому появилось желание за один день (выходной) всем пользователям разом заменить файл notes.ini на новый. |
Цитата:
Цитата:
В любом случае, Вам правильно подсказали выше попробовать сделать сие через предпочтения групповой политики. |
Busla - спасибо за совет. Iska - спасибо за ссылки
Сегодня почитал и разобрался как поменять/изменить INI-шники у терминальных пользователей. Все оказалось действительно очень легко. А для пользователей домена с локально запускаемым ПО все настолько же просто? Задача остается та же, но тут уже все несколько усложняется. Возможные пути установки программы: C:\Program Files\Lotus\ C:\Program Files (x86)\Lotus\ C:\Program Files\IBM\Lotus\ C:\Program Files (x86)\IBM\Lotus\ необходимо заменить переименовать старые файлы и подложить новые. Как я понимаю - через групповую политику можно скрипт накатить? или может что-то другое посоветуете? |
Время: 11:00. |
Время: 11:00.
© OSzone.net 2001-