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

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

Аватара для 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