Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows NT/2000/2003 (http://forum.oszone.net/forumdisplay.php?f=5)
-   -   Массовое изменение настроек пользователей в AD Win 2003 (http://forum.oszone.net/showthread.php?t=237143)

Fenia 22-06-2012 15:41 1938806

Массовое изменение настроек пользователей в 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

Но иногда это не происходит. Иногда появляется папка с имением пользователя, которая пустая. Но при этом на рабочем столе и в моих документах файлы с предыдущего профиля. Почему так и где файл или что нить что б отвечала за переадресацию на старый профиль я так и не понял.

Теперь задача состоит в том, чтоб всё это сделать с помощью одного скрипта. Эти скрипты писал не я, мне это всё в наследство.

cameron 22-06-2012 18:09 1938930

при переименовании пользователя и так подхватится нужный профиль, потому что это привязыается через SID, а не %username%.

то есть, если у вас пользователь с логином vasya_pupkin у которого есть профиль на локальной машинке, вида
c:\documents and setting\vasya_pupkin\
то переменовав vasya_pupkin в John_johnson в AD вы не нарушите работу его локально профиля.
называться он будет всё так же vasya_pupkin, на тех хостах где он уже был.

Fenia 25-06-2012 10:55 1940065

А теперь вопрос. А если у меня 3 пользователя на компе. называются они 1,2 и 3. Через некоторое время я переименовал 2 в vasya_pupkin, но папка не пере именовалась. Как мне в будущем понять, что папка 2 это папка vasya_pupkin`a?

cameron 25-06-2012 11:09 1940075

Цитата:

Цитата Fenia
Как мне в будущем понять, что папка 2 это папка vasya_pupkin`a? »

не могу понять причин по которым это нужно понимать, но всегда можно использовать %userprofile%, которая будет отрабатывать верно.
для создания костылей для решения прошлых костылей нужно понимаать по каким причинам бывает ошибки, для этого нужно смотреть в логах.

да, сделать это в один скрипт, скорее всего не получится, потому что вам нужно физическое создание нового профиля, а это логон.
хотя, наверно можно раскорячиться через RDP логон, логофф, запуск переименования.

скажите, а откуда у вас такие массовые переименования пользователей?

Fenia 25-06-2012 15:53 1940243

Это гос. учреждение в прошлом. Теперь уже не гос. =) Раньше у каждого пользователя был свой логин ввиде цифр. Но со временем этих пользователей стало так много, что ничего не разобрать. Особенно когда они меняются местами. На компьютере 4-5 папок пользователей и среди них надо найти нужный. На данный момент переводится всё на фио.

Цитата:

Цитата cameron
для создания костылей для решения прошлых костылей нужно понимаать по каким причинам бывает ошибки, для этого нужно смотреть в логах. »

Где это можно посмотреть? в каких логах?

Цитата:

Цитата cameron
не могу понять причин по которым это нужно понимать, но всегда можно использовать %userprofile%, которая будет отрабатывать верно. »

Например. Не понял если честно. Ситуация такая:
Есть пользователь X123, у него профиль X123, соответственно и папка в document and settings X123. Но если я поменяю "Имя входа пользователя" и в будущем он будет заходить по этому логину, то создаётся пустая папка. Совершенно пустая. Но переадресация всё равно на старую. Я честно говоря не понимаю как будет выглядить скрипт для копирания данных именно этого пользователя.

t3mk4 25-06-2012 17:01 1940287

User State Migration Tool возможно Вам чем-то поможет.


Время: 23:06.

Время: 23:06.
© OSzone.net 2001-