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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Помогите создать батник для переноса Профиля пользователя.

Ответить
Настройки темы
CMD/BAT - [решено] Помогите создать батник для переноса Профиля пользователя.

Новый участник


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

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


Доброго времени суток!
Хотелось бы узнать возможноли создать батник чтоб он переносил профиль из Documents And Setings на другой диск, если да то как?

Отправлено: 17:25, 20-01-2010

 

Аватара для volk1234

Старовер


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

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


Цитата amel27:
там ведь могут быть параметры с явным указанием имени/SID пользователя »
Хм. Да есть такое - только SID имеется и тот и то в одном месте, а имя старого пользователя во многих настройках программ - как история открытых файлов и т.д.
В любом случае профиль будет работать корректно - за исключением специальных программ. Это момент я обязательно укажу в статье. В любом случае дополнительные утилиты привлекать неохота - пропадает смысл примера.
Если есть предложения как заменить из командной стороки такие строки- рад буду выслушать. Правда возможны глюки в виде замены совпадающих имен пользователя и имени логина в программы - например Administrator для входа в Win изменится, а для входа в БД такое же имя менять нельзя .

-------

Ю-ху!


Отправлено: 10:49, 14-04-2010 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Googler


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

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


Цитата volk1234:
дополнительные утилиты привлекать неохота »
а как же SubInACL ?.. кстати, для NTFS прав она не очень подходит, так как не поддерживает наследование - назначает права индивидуально на каждый объект (файл/папку), мне больше нравится Xcacls.VBS... а если выставить наследование, то и ключ /K в XCOPY не нужен

Цитата volk1234:
Если есть предложения как заменить из командной стороки такие строки- рад буду выслушать. »
ключ -r в RegFind

Отправлено: 11:54, 14-04-2010 | #12


Аватара для volk1234

Старовер


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

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


Цитата amel27:
а как же SubInACL ?.. »
Я в том смысле что у меня статья про subinacl - это основная утилита, а любые другие - дополнительные.

По поводу наследования - абсолютно справедливо, но утилиты вроде icacls xcacls не работают с реестром.

Вобщем сегодня помучил USMT, Мастер переноса файлов и параметров (который, кстати, тоже использует xcopy) и сделал такой скрипт:
Код: Выделить весь код
@Echo off

Set OLD_USER=%1
Set NEW_USER=%2
Set USER_DISK=%3

Rem Извлекаем из реестра полный путь к папке, содержащей профили пользователей 
SET profiles=%AllUsersProfile%
SET profiles=%profiles:~0,-10%
Echo %profiles%

xcopy "%profiles%\%OLD_USER%\*.*" "%profiles%\%NEW_USER%" /E /Q /H /R /K /Y

subinacl /noverbose /subdirec "%profiles%\%NEW_USER%" /setowner="%NEW_USER%"
subinacl /noverbose /subdirec "%profiles%\%NEW_USER%\*" /setowner="%NEW_USER%"

Reg Load HKEY_USERS\Temph "%profiles%"\%NEW_USER%\NTUSER.DAT
subinacl /noverbose /subkeyreg HKEY_USERS\Temph  /replace=%OLD_USER%=%NEW_USER%
subinacl /noverbose /subkeyreg HKEY_USERS\Temph\*  /replace=%OLD_USER%=%NEW_USER%
Reg Unload HKEY_USERS\Temph

If  "%USER_DISK%"=="" Goto :EOF

subinacl /noverbose /subdirec "%USER_DISK%" /replace="%OLD_USER%"="%NEW_USER%"
subinacl /noverbose /subdirec "%USER_DISK%"\*.* /replace="%OLD_USER%"="%NEW_USER%"
subinacl /noverbose /subdirec "%USER_DISK%"\*.* /setowner="%NEW_USER%"
subinacl /noverbose /subdirec "%USER_DISK%" /setowner="%NEW_USER%"
Pause

Exit
Перенеслось все - ярлычки на своих местах, программы открываются. Ничуть не хуже других средств переноса. Например Autocad все равно ни одно средство под ХР корректно не перенесет. У меня просто еще раз запустилась настройка Autocad профиля и все заработало.

Засада кроется в другом - например при установке пользователя обозвали Slava. Соответственно на папку Slava ссылается ProfileList. Если переименовать пользователя в Lena - имя папки с профилем не изменяется ! Соответственно моя переменная OLD_USER работает не правильно - ибо папку копировать надо Slava - откуда это моему скрипту знать, а разрешения менять у Lena....

-------

Ю-ху!


Последний раз редактировалось volk1234, 18-04-2010 в 14:38.


Отправлено: 23:17, 17-04-2010 | #13


Googler


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

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


Цитата volk1234:
откуда это моему скрипту знать »
как вариант - восстановить SID пользователей - через WMI или другие CMD-утилиты (тут уже вопрос поднимался неоднократно), после чего соответствие между пользователем и профилем однозначно устанавливается через "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList"

Отправлено: 14:23, 18-04-2010 | #14



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Помогите создать батник для переноса Профиля пользователя.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - перенос профиля пользователя xoy Microsoft Windows 2000/XP 10 21-07-2010 15:37
Разное - загрузка профиля пользователя lxa85 Microsoft Windows 2000/XP 2 14-10-2008 10:18
[решено] Как создать разные конфигурации служб для пользователя? Santo-86 Microsoft Windows 2000/XP 7 25-01-2008 20:06
Скрипт по редактированию профиля пользователя. GreenIce Microsoft Windows NT/2000/2003 0 29-05-2007 14:01
Создание профиля пользователя YDen Microsoft Windows NT/2000/2003 2 17-02-2006 11:54




 
Переход