I'm making the batch below in the win 7 corporate environment that recreates a users profile remotely. I know the code could be more efficient, but it all works except where the registry entry on the users computer for their profile needs to be removed. I'm not sure how I would find their specific entry and then delete it. Could you guys take a look? Also, any code improvements are welcomed. I'm still having issues with the whole "RWM" graphic at the top, but that's not important right now. You'll see if you open the batch.
@echo off
MODE 75,30
::Notes
::Remote Workstation Manager BETA unreleased
::
::
:start
cls
TITLE Remote Workstation Manager BETA unreleased
::Declarations
setLocal EnableDelayedExpansion
set date=%date:~4,2%%date:~7,2%%date:~10,4%%
color 0a
echo.&echo.&echo.&echo.&echo.&echo.
SET /P ".= "<nul &Call :Color 0E " ###### # # # # " end&echo.
SET /P ".= "<nul &Call :Color 0E " # # # # # ## ## " end&echo.
SET /P ".= "<nul &Call :Color 0E " # # # # # # # # # " end&echo.
SET /P ".= "<nul &Call :Color 0E " ###### # # # # # # " end&echo.
SET /P ".= "<nul &Call :Color 0E " # # ### # # # ### # # " end&echo.
SET /P ".= "<nul &Call :Color 0E " # # ### # # # ### # # " end&echo.
SET /P ".= "<nul &Call :Color 0E " # # ### ## ## ### # # " end&echo.
echo.
SET /P ".= "<nul &Call :Color 09 "=================================" end&echo.
SET /P ".= "<nul &Call :Color 09 "=" &Call :Color 0C " R" &Call :Color 0f "emote" &Call :Color 0C " W" &Call :Color 0f "orkstation" &Call :Color 0C " M" &Call :Color 0f "anager v1" &Call :Color 09 " =" end&echo.
SET /P ".= "<nul &Call :Color 09 "=================================" end&echo.&echo.&echo.
echo 1. - Recreate Windows User Profile
::Restarts Users Laptop and when at Login Screen
echo.0. - Exits
set /p input=Choose a number and press enter:
if %input%==1 goto :1
if %input%==0 goto :0
:1
cls
@echo off
TITLE Recreating Windows Profile
set /p ip= Enter the computers IP or Workstation Name:
echo The ip is %ip%
set /p username= Enter the users EUID:
echo The username is %USERNAME%
cls
echo Press enter to restart the users machine.
echo.
pause
xcopy "\\utils\h$\Utilities\Restore.bat" "\\%ip%\c$\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup" /i /y
cls
echo Restarting users PC . . .
@echo off
shutdown -r -f -t 1 -m \\%ip%
@echo off
:loop
Timeout /t 15
ping -n 1 %ip% >null
if %ERRORLEVEL% EQU 0 goto :loop
if %ERRORLEVEL% EQU 1 goto :continue2
:continue2
cls
@echo off
echo Waiting for Startup . . .
:retry
Timeout /t 2
IF NOT EXIST "\\%ip%\c$\Users\%USERNAME%\" goto :retry
IF EXIST "\\%ip%\c$\Users\%USERNAME%\" goto :continue3
:continue3
Timeout /t 10
cls
echo Refreshing profile . . .
rmdir "\\%ip%\c$\Users\Temp" /s /q
rmdir "\\%ip%\c$\Users\Temp.COF" /s /q
rename "\\%ip%\c$\Users\%USERNAME%" %USERNAME%.%date%
echo.
echo Complete.
Timeout /t 10
cls
echo Waiting for the User to log in . . .
:retry2
sleep 2
IF NOT EXIST "\\%ip%\c$\Users\%USERNAME%\" goto :retry2
IF EXIST "\\%ip%\c$\Users\%USERNAME%\" goto :continue4
:continue4
cls
echo Completed. Wait for new profile to be created and verify the users data has been restored.
echo.
pause
goto :start
0:
exit