Initial commit
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
@echo off
|
||||
setlocal
|
||||
title Backup User Accounts on %COMPUTERNAME%
|
||||
color 0e
|
||||
|
||||
:prompt-backup-type
|
||||
cls
|
||||
echo.
|
||||
set BACKUP_TYPE=y
|
||||
set /p BACKUP_TYPE=Backup all users (y/n):
|
||||
if [%BACKUP_TYPE%]==[y] goto set-all-users
|
||||
if [%BACKUP_TYPE%]==[Y] goto set-all-users
|
||||
if [%BACKUP_TYPE%]==[n] goto get-domain
|
||||
if [%BACKUP_TYPE%]==[N] goto get-domain
|
||||
goto prompt-backup-type
|
||||
|
||||
:set-all-users
|
||||
rem --- Set the store path to save migrated data into
|
||||
set USMT_STORE=%~dp0..\usmt_store\%COMPUTERNAME%
|
||||
|
||||
rem --- Set the command line args for performing the migration
|
||||
set SCANSTATE_USERS=/ue:*\Administrator /ue:*\ekadmin
|
||||
set SCANSTATE_XML=/i:"%USMT_STORE%\config\MigUser.xml" /i:"%USMT_STORE%\config\MigDocSystem.xml" /i:"%USMT_STORE%\config\MigCustom.xml"
|
||||
|
||||
goto start
|
||||
|
||||
rem --- Get domain to backup
|
||||
:get-domain
|
||||
cls
|
||||
echo.
|
||||
set BACKUP_DOMAIN=%USERDOMAIN%
|
||||
if [%BACKUP_DOMAIN%]==[] set BACKUP_DOMAIN=%COMPUTERNAME%
|
||||
echo Enter the domain for the user account we'll be backing up.
|
||||
set /p BACKUP_DOMAIN=(default is %BACKUP_DOMAIN%):
|
||||
|
||||
rem --- Get user to backup
|
||||
:get-user
|
||||
cls
|
||||
echo.
|
||||
set BACKUP_USER=
|
||||
set /p BACKUP_USER=Enter the username to backup:
|
||||
if [%BACKUP_USER%]==[] goto get-user
|
||||
|
||||
rem --- Set the store path to save migrated data into
|
||||
set USMT_STORE=%~dp0..\usmt_store\%COMPUTERNAME%_%BACKUP_USER%
|
||||
|
||||
rem --- Set the command line args for performing the migration
|
||||
set SCANSTATE_USERS=/ue:* /ui:%BACKUP_DOMAIN%\%BACKUP_USER%
|
||||
set SCANSTATE_XML=/i:"%USMT_STORE%\config\MigUser.xml" /i:"%USMT_STORE%\config\MigCustom.xml"
|
||||
|
||||
:start
|
||||
cls
|
||||
rem --- Make sure we run the correct USMT architecture
|
||||
set USMT_TOOLS=%~dp0x86
|
||||
if exist "%ProgramFiles(x86)%" set USMT_TOOLS=%~dp0amd64
|
||||
|
||||
rem --- Create USMT_STORE directory if it doesn't exist
|
||||
if not exist "%USMT_STORE%" mkdir "%USMT_STORE%"
|
||||
|
||||
rem --- Create USMT_LOG directory if it doesn't exist
|
||||
if not exist "%USMT_STORE%\logs" mkdir "%USMT_STORE%\logs"
|
||||
|
||||
rem --- Create config directory if it doesn't exist
|
||||
if not exist "%USMT_STORE%\config" mkdir "%USMT_STORE%\config"
|
||||
|
||||
rem --- Copy all XML files and restore script into USMT_STORE so the proper files and settings can be restored to the destination computer
|
||||
echo.
|
||||
echo Preparing USMT configuration...
|
||||
copy /v /y "%USMT_TOOLS%\MigUser.xml" "%USMT_STORE%\config\" >nul
|
||||
copy /v /y "%~dp0config\MigCustom.xml" "%USMT_STORE%\config\" >nul
|
||||
copy /v /y "%~dp0config\MigDocSystem.xml" "%USMT_STORE%\config\" >nul
|
||||
copy /v /y "%~dp0restore.bat" "%USMT_STORE%\" >nul
|
||||
|
||||
rem --- Copy source USMT binaries for restore operation
|
||||
if not exist "%USMT_STORE%\tools" mkdir "%USMT_STORE%\tools"
|
||||
if exist "%USMT_TOOLS%\..\amd64" xcopy /e /q /y "%USMT_TOOLS%\..\amd64" "%USMT_STORE%\tools\amd64\" >nul
|
||||
if exist "%USMT_TOOLS%\..\x86" xcopy /e /q /y "%USMT_TOOLS%\..\x86" "%USMT_STORE%\tools\x86\" >nul
|
||||
if exist "%USMT_TOOLS%\..\arm" xcopy /e /q /y "%USMT_TOOLS%\..\arm" "%USMT_STORE%\tools\arm\" >nul
|
||||
|
||||
rem --- Generate migration configuration file
|
||||
echo.
|
||||
echo Generating migration configuration...
|
||||
"%USMT_TOOLS%\scanstate.exe" /genconfig:"%USMT_STORE%\config\config.xml" /l:"%USMT_STORE%\logs\config.log" %SCANSTATE_XML% /v:5
|
||||
|
||||
echo.
|
||||
echo Performing migration...
|
||||
rem --- Perform migration to %USMT_STORE%
|
||||
"%USMT_TOOLS%\scanstate.exe" "%USMT_STORE%" /vsc /localonly /l:"%USMT_STORE%\logs\backup.log" /c %SCANSTATE_USERS% /config:"%USMT_STORE%\config\config.xml" %SCANSTATE_XML% /v:5 %1
|
||||
|
||||
echo.
|
||||
echo Done!
|
||||
echo Press any key to exit...
|
||||
pause >nul
|
||||
Reference in New Issue
Block a user