K
K
karpos2019-05-21 12:07:37
System administration
karpos, 2019-05-21 12:07:37

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.

spoiler
Код скрипта
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.

I want everything back. Understanding, I found what you can see in the screenshot
5ce3be0989ba1258917230.jpeg
. And although my question above is related to the transfer of user profiles, I just can’t understand why he sees 22GB on the link, yes this is a link but the size should not be displayed, how to get there :)

Answer the question

In order to leave comments, you need to log in

1 answer(s)
D
Dmitry Shitskov, 2019-05-21
@karpos

What is the correct way to migrate a user profile to another volume?

So https://www.top-password.com/blog/move-the-entire-...
cd "Application Data"

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question