Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для volk1234

Старовер


Сообщения: 1708
Благодарности: 314

Профиль | Отправить PM | Цитировать


Привет всем.
Я тут заканчиваю писать статью по использованию SubinACL и в качестве примера привожу миграцию профиля локального пользователя в домен. Прошу посмотреть гуру, дабы я не позорился неработающим примером. Заодно узнаю как мне получить путь к профилям из реестра целиком
Предполагается, что скрипт будет запускаться от имени администратора домена. Формат запуска
mig2dom.cmd oldusername newusername userfilesdisk

Код: Выделить весь код
@Echo off
Set OLD_USER=%1
Set NEW_USER=%2
Set USER_DISK=%3
Rem Извлекаем из реестра полный путь к папке, содержащей профили пользователей  - чегото у меня  с пробелами неполучается.....
For /F "Skip=1 Tokens=3* " %%i In ('Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" /V ProfilesDirectory') Do Set profiles=%%i

Echo %profiles%

Rem Копируем файлы профиля
Xcopy "%profiles%\%OLD_USER%\*.*" "%profiles%\%NEW_USER%" /E /Q /H /R /K /Y

Rem Делаем нового пользователя владельцем
Subinacl /noverbose /subdirec "%profiles%\%NEW_USER%\*" /setowner="%NEW_USER%"

Rem Загружаем куст реестра и изменяем разрешения 
Reg Load HKEY_USERS\Temph "%profiles%\%NEW_USER%\NTUSER.DAT" 
Subinacl /noverbose /regkey "HKEY_USERS\Temph"  /replace=%OLD_USER%=%NEW_USER%
Reg Unload HKEY_USERS\Temph 

Rem Дополнительно меняем владельца и разрешения в папке\на диске где хранятся документы пользователя
If %3=="" (
Goto :EOF
) Else (
Subinacl /noverbose /subdirec "%USER_DISK%"\*.* /replace="%OLD_USER%"="%NEW_USER%"
Subinacl /noverbose /subdirec "%USER_DISK%"\*.* /setowner="%NEW_USER%"
)
Pause
Exit

-------

Ю-ху!


Отправлено: 02:41, 14-04-2010 | #9