Fenia
22-06-2012, 15:41
Здравствуйте!
Очень нужна помощь в следующих вопросах.
Сначала я опишу, что мне приходиться делать "руками" и что хотелось бы делать массово:
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
Но иногда это не происходит. Иногда появляется папка с имением пользователя, которая пустая. Но при этом на рабочем столе и в моих документах файлы с предыдущего профиля. Почему так и где файл или что нить что б отвечала за переадресацию на старый профиль я так и не понял.
Теперь задача состоит в том, чтоб всё это сделать с помощью одного скрипта. Эти скрипты писал не я, мне это всё в наследство.
Очень нужна помощь в следующих вопросах.
Сначала я опишу, что мне приходиться делать "руками" и что хотелось бы делать массово:
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
Но иногда это не происходит. Иногда появляется папка с имением пользователя, которая пустая. Но при этом на рабочем столе и в моих документах файлы с предыдущего профиля. Почему так и где файл или что нить что б отвечала за переадресацию на старый профиль я так и не понял.
Теперь задача состоит в том, чтоб всё это сделать с помощью одного скрипта. Эти скрипты писал не я, мне это всё в наследство.