![]() |
Массовое изменение настроек пользователей в AD Win 2003
Здравствуйте!
Очень нужна помощь в следующих вопросах. Сначала я опишу, что мне приходиться делать "руками" и что хотелось бы делать массово: 1) Запускаю AD - пользователи и компьютеры. 2) Выбираю необходимого мне пользователя и захожу в свойства. 3) В свойствах я выбираю вкладку "Учётная запись", и изменяю "Имя входа пользователя" и "Имя входа пользователя(пред-Windows 2000)" на новые. 4) Разлогиниваюсь и Залогиниваюсь заново, во время разлогинивания у меня срабатывает скрипт для пользователя: set logonserver set username rem %logonserver%\Pstools\psgetsid.exe %username% >c:\Logs\111.txt \\nt-update\eiis\Pstools\psgetsid.exe fss78\%username% >c:\Logs\111.txt for /f "skip=1 tokens=1 delims= " %%i in (c:\Logs\111.txt) do @echo %%i>c:\Logs\222.txt for /f "tokens=1 delims=" %%i in ("%userprofile%") do @echo %%i>c:\Logs\444.txt for /f "tokens=3 delims=:\" %%i in ("%userprofile%") do @echo %%i>c:\Logs\555.txt for /f "tokens=1 delims= " %%i in ("%username%") do @echo %%i>c:\Logs\666.txt 5) После этого я запускаю GPM(group policy management) выбираю необходимую мне политику и добавлю в неё компьютер пользователя, далее срабатывает скрипт который по идее должен переименовывать папку пользователя в необходимую мне: set /P SID=<c:\Logs\222.txt set /P User_name=<c:\Logs\666.txt set SID set User_name set /P old_prof=<c:\Logs\444.txt set /P old_user=<c:\Logs\555.txt if not "%old_user%"=="%User_name%" goto Change goto End :Change if not "C:\Documents and Settings\%old_user%"=="%old_prof%" goto Change7 reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\%SID%" /v ProfileImagePath /t REG_EXPAND_SZ /d "%%SystemDrive%%\Documents and Settings\%User_name%" /f move /Y "%old_prof%" "C:\Documents and Settings\%User_name%" >>c:\Logs\change.txt goto End :Change7 reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\%SID%" /v ProfileImagePath /t REG_EXPAND_SZ /d "%%SystemDrive%%\Users\%User_name%" /f move /Y "%old_prof%" "C:\Users\%User_name%" >>c:\Logs\change.txt goto End :End rem del /F /Q C:\Logs\*.* goto :EOF Но иногда это не происходит. Иногда появляется папка с имением пользователя, которая пустая. Но при этом на рабочем столе и в моих документах файлы с предыдущего профиля. Почему так и где файл или что нить что б отвечала за переадресацию на старый профиль я так и не понял. Теперь задача состоит в том, чтоб всё это сделать с помощью одного скрипта. Эти скрипты писал не я, мне это всё в наследство. |
при переименовании пользователя и так подхватится нужный профиль, потому что это привязыается через SID, а не %username%.
то есть, если у вас пользователь с логином vasya_pupkin у которого есть профиль на локальной машинке, вида c:\documents and setting\vasya_pupkin\ то переменовав vasya_pupkin в John_johnson в AD вы не нарушите работу его локально профиля. называться он будет всё так же vasya_pupkin, на тех хостах где он уже был. |
А теперь вопрос. А если у меня 3 пользователя на компе. называются они 1,2 и 3. Через некоторое время я переименовал 2 в vasya_pupkin, но папка не пере именовалась. Как мне в будущем понять, что папка 2 это папка vasya_pupkin`a?
|
Цитата:
для создания костылей для решения прошлых костылей нужно понимаать по каким причинам бывает ошибки, для этого нужно смотреть в логах. да, сделать это в один скрипт, скорее всего не получится, потому что вам нужно физическое создание нового профиля, а это логон. хотя, наверно можно раскорячиться через RDP логон, логофф, запуск переименования. скажите, а откуда у вас такие массовые переименования пользователей? |
Это гос. учреждение в прошлом. Теперь уже не гос. =) Раньше у каждого пользователя был свой логин ввиде цифр. Но со временем этих пользователей стало так много, что ничего не разобрать. Особенно когда они меняются местами. На компьютере 4-5 папок пользователей и среди них надо найти нужный. На данный момент переводится всё на фио.
Цитата:
Цитата:
Есть пользователь X123, у него профиль X123, соответственно и папка в document and settings X123. Но если я поменяю "Имя входа пользователя" и в будущем он будет заходить по этому логину, то создаётся пустая папка. Совершенно пустая. Но переадресация всё равно на старую. Я честно говоря не понимаю как будет выглядить скрипт для копирания данных именно этого пользователя. |
User State Migration Tool возможно Вам чем-то поможет.
|
Время: 23:06. |
Время: 23:06.
© OSzone.net 2001-