Answer the question
In order to leave comments, you need to log in
What is the correct way to migrate a user profile to another volume?
On the server, the directories with user profiles were transferred to another disk. Cunning script.
chcp 1251
@echo off
cls
echo Скрипт переноса пользовательского профиля
echo ================================================================================
echo.
:: Check parameters
if "%1"=="" ( goto:Usage ) else (
set Src=%~f1
)
if "%2"=="" ( goto:Usage ) else (
set Dst=%~f2
set DstP=%~dp2
)
if not exist "%Src%" (
echo Каталог источника не существует
goto:EXIT
)
if not exist "%DstP%" (
echo Каталог назначения не существует
goto:EXIT
)
echo == Перенос профиля пользователя из %Src% в %Dst%
echo.
:: Copy user profile directory
xcopy %Src% %Dst% /Q /E /I /H /K /O /X /B
echo --- Удаление неправильных каталогов перед созданием ссылок ...
:: Remove incorrect directories before creating links
rmdir /Q "%Dst%\Application Data"
rmdir /Q "%Dst%\Cookies"
rmdir /Q "%Dst%\Local Settings"
rmdir /Q "%Dst%\NetHood"
rmdir /Q "%Dst%\PrintHood"
rmdir /Q "%Dst%\Recent"
rmdir /Q "%Dst%\SendTo"
rmdir /Q "%Dst%\Главное меню"
rmdir /Q "%Dst%\Мои документы"
rmdir /Q "%Dst%\Шаблоны"
rmdir /Q "%Dst%\Documents\Мои видеозаписи"
rmdir /Q "%Dst%\Documents\Мои рисунки"
rmdir /Q "%Dst%\Documents\Моя музыка"
rmdir /Q "%Dst%\AppData\Local\Application Data"
rmdir /Q "%Dst%\AppData\Local\History"
rmdir /Q "%Dst%\AppData\Local\Temporary Internet Files"
rmdir /Q "%Dst%\AppData\Roaming\Microsoft\Windows\Start Menu\Программы"
echo --- Создание ссылок ...
:: Create links
mklink /J "%Dst%\Application Data" "%Dst%\AppData\Roaming" > nul
mklink /J "%Dst%\Cookies" "%Dst%\AppData\Roaming\Microsoft\Windows\Cookies" > nul
mklink /J "%Dst%\Local Settings" "%Dst%\AppData\Local" > nul
mklink /J "%Dst%\NetHood" "%Dst%\AppData\Roaming\Microsoft\Windows\Network Shortcuts" > nul
mklink /J "%Dst%\PrintHood" "%Dst%\AppData\Roaming\Microsoft\Windows\Printer Shortcuts" > nul
mklink /J "%Dst%\Recent" "%Dst%\AppData\Roaming\Microsoft\Windows\Recent" > nul
mklink /J "%Dst%\SendTo" "%Dst%\AppData\Roaming\Microsoft\Windows\SendTo" > nul
mklink /J "%Dst%\Главное меню" "%Dst%\AppData\Roaming\Microsoft\Windows\Start Menu" > nul
mklink /J "%Dst%\Мои документы" "%Dst%\Documents" > nul
mklink /J "%Dst%\Шаблоны" "%Dst%\AppData\Roaming\Microsoft\Windows\Templates" > nul
mklink /J "%Dst%\Documents\Мои видеозаписи" "%Dst%\Videos" > nul
mklink /J "%Dst%\Documents\Мои рисунки" "%Dst%\Pictures" > nul
mklink /J "%Dst%\Documents\Моя музыка" "%Dst%\Music" > nul
mklink /J "%Dst%\AppData\Local\Application Data" "%Dst%\AppData\Local" > nul
mklink /J "%Dst%\AppData\Local\History" "%Dst%\AppData\Local\Microsoft\Windows\History" > nul
mklink /J "%Dst%\AppData\Local\Temporary Internet Files" "%Dst%\AppData\Local\Microsoft\Windows\Temporary Internet Files" > nul
mklink /J "%Dst%\AppData\Roaming\Microsoft\Windows\Start Menu\Программы" "%Dst%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs" > nul
echo --- Установка атрибутов для ссылок ...
:: Set attributes for links
attrib +S +H "%Dst%\Application Data" /L
attrib +S +H "%Dst%\Cookies" /L
attrib +S +H "%Dst%\Local Settings" /L
attrib +S +H "%Dst%\NetHood" /L
attrib +S +H "%Dst%\PrintHood" /L
attrib +S +H "%Dst%\Recent" /L
attrib +S +H "%Dst%\SendTo" /L
attrib +S +H "%Dst%\Главное меню" /L
attrib +S +H "%Dst%\Мои документы" /L
attrib +S +H "%Dst%\Шаблоны" /L
attrib +S +H "%Dst%\Documents\Мои видеозаписи" /L
attrib +S +H "%Dst%\Documents\Мои рисунки" /L
attrib +S +H "%Dst%\Documents\Моя музыка" /L
attrib +S +H "%Dst%\AppData\Local\Application Data" /L
attrib +S +H "%Dst%\AppData\Local\History" /L
attrib +S +H "%Dst%\AppData\Local\Temporary Internet Files" /L
attrib +S +H "%Dst%\AppData\Roaming\Microsoft\Windows\Start Menu\Программы" /L
echo --- Установка владельца для ссылок
:: Set owner for links
icacls "%Dst%\Application Data" /setowner система /L > nul
icacls "%Dst%\Cookies" /setowner система /L > nul
icacls "%Dst%\Local Settings" /setowner система /L > nul
icacls "%Dst%\NetHood" /setowner система /L > nul
icacls "%Dst%\PrintHood" /setowner система /L > nul
icacls "%Dst%\Recent" /setowner система /L > nul
icacls "%Dst%\SendTo" /setowner система /L > nul
icacls "%Dst%\Главное меню" /setowner система /L > nul
icacls "%Dst%\Мои документы" /setowner система /L > nul
icacls "%Dst%\Шаблоны" /setowner система /L > nul
icacls "%Dst%\Documents\Мои видеозаписи" /setowner система /L > nul
icacls "%Dst%\Documents\Мои рисунки" /setowner система /L > nul
icacls "%Dst%\Documents\Моя музыка" /setowner система /L > nul
icacls "%Dst%\AppData\Local\Application Data" /setowner система /L > nul
icacls "%Dst%\AppData\Local\History" /setowner система /L > nul
icacls "%Dst%\AppData\Local\Temporary Internet Files" /setowner система /L > nul
icacls "%Dst%\AppData\Roaming\Microsoft\Windows\Start Menu\Программы" /setowner система /L > nul
echo --- Восстановление прав доступа к файлам и каталогам ...
:: Restore ACLs
icacls "%Src%\*" /save "%Temp%\acls.tmp" /L > nul
icacls "%Dst%" /restore "%Temp%\acls.tmp" > nul
del /F /Q "%Temp%\acls.tmp"
goto:EXIT
:Usage
echo Указаны не все обязательные параметры.
echo Синтаксис вызова:
echo %0 источник назначение
goto:EXIT
:EXIT
echo.
echo ================================================================================
echo Копирование файлов профиля завершено.
echo Для применения данных изменений к пользователю запустите Редактор реестра,
echo найдите нужный профиль в ветке:
echo HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
echo Измените значение параметра ProfileImagePath на "%Dst%"
echo.
Answer the question
In order to leave comments, you need to log in
What is the correct way to migrate a user profile to another volume?
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question