Показать полную графическую версию : Изменение пути в 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 - не принципиально наверное. Но шел мне менее всего знаком :(
с файлами names.nsf и notes.ini »
Упакуйте эти файлы в архив и приложите к сообщению. Интересует кодировка файлов, наличие BOM и концы строк.
2. Создать новый файл notes.ini (копируем из папки D:\Temp обязательно ) »
Почему именно копировать, почему не просто создавать содержимое кодом?
4. Файл notes.ini должен иметь атрибут "все" - полный доступ (не обязательно, но желательно) »
В чём глубинный смысл сего действа, учитывая, что участники группы «Все» никак не смогут достучаться до этого файла, поскольку у этой группы тупо нет разрешений на более высокие уровни каталогов в иерархии?!
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, Вы хоть примерно поняли, что там за велосипед был изобретён? Я — толком нет.
конкретно для Lotus можно удалить Directiry из файла notes.ini и задать переменную окружения notes_Directory »
В таком случае можно удалить все содержимое файла после 4 строки и дописать строчку "MailServer=NewServerName", чтобы не заморачиваться с именами пользователей.
Можете помочь сделать такой файл, который в цикле будет пробегать по вложенным папкам D:\Users$\ и удалять/дописывать в notes.ini необходимую информацию?
для редактирования ini-файлов есть специальная групповая политика - не нужно изобретать велосипед »
не слышал про такую.
не слышал про такую. »
Он просто немного не так выразился.
Структура компонентов групповой политики. Часть 1 (http://www.oszone.net/14879/arch-gpo):
Например, с появлением операционной системы Windows Server 2008, функционал групповой политики пополнился более 20 расширениями клиентской стороны, при помощи которых возможно осуществление управления дополнительными параметрами, например, сопоставление дисков или изменение секций в свойствах *.ini-файлов, называемых предпочитаемыми групповыми политиками, которые в отличие от параметров групповой политики, предпочтения групповой политики не так строго привязываются к настройкам определенных компонентов системы.
Working with Group Policy Preference Items Using the GPMC | Microsoft Docs (https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/dn789194(v=ws.11))
Работа с предпочтениями групповой политики: управление INI-файлами / Хабр (https://habr.com/post/178027/)
Настройка элемента INI-файла (http://winintro.ru/gpmc.ru/html/97a5281c-33b6-479c-bca7-f62ec257ab6f.htm)
Настройка элемента INI-файла (http://forsenergy.com/ru-ru/gpmc/html/97a5281c-33b6-479c-bca7-f62ec257ab6f.htm)
и т.п.
Вы хоть примерно поняли, что там за велосипед был изобретён? Я — толком нет. »
Чтобы понять этот велосипед на костылях с забитыми шурупами и вкрученными гвоздями его нужно просто немного знать, судя по описанию это Domino еще до 9 версии, как водится с подарочным набором граблей от предыдущих настроек и изрядным геморроем с новыми.
Elven, не, я про другое. Например, зачем что-то делать от имени администратора, если речь идёт про файл в профиле пользователя? Как и чем сие вообще делается сейчас (или предполагается сделать)? И т.п.
зачем что-то делать от имени администратора, если речь идёт про файл в профиле пользователя? »
так и предполагалось сделать. батник я написал, засунул его в Редактор объектов групповой политики - конфигурация пользователя - Сценарий входа в систему (может в другое место надо положить?!)
но при входе пользователя на терминальный сервер - скрипт не успевает отработать и изменить файл notes.ini
Поэтому появилось желание за один день (выходной) всем пользователям разом заменить файл notes.ini на новый.
засунул его в Редактор объектов групповой политики - конфигурация пользователя »
Ага. Так всё-таки «на пользователя». Уже лучше.
скрипт не успевает отработать и изменить файл notes.ini »
Это как?! Ему что, умолчальных десяти минут не хватает на правку ini-файла?!
В любом случае, Вам правильно подсказали выше попробовать сделать сие через предпочтения групповой политики.
Busla - спасибо за совет. Iska - спасибо за ссылки
Сегодня почитал и разобрался как поменять/изменить INI-шники у терминальных пользователей. Все оказалось действительно очень легко.
А для пользователей домена с локально запускаемым ПО все настолько же просто?
Задача остается та же, но тут уже все несколько усложняется.
Возможные пути установки программы:
C:\Program Files\Lotus\
C:\Program Files (x86)\Lotus\
C:\Program Files\IBM\Lotus\
C:\Program Files (x86)\IBM\Lotus\
необходимо заменить переименовать старые файлы и подложить новые.
Как я понимаю - через групповую политику можно скрипт накатить? или может что-то другое посоветуете?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.