0

ユーザープロファイルをリモートで再作成するwin 7企業環境で、以下のバッチを作成しています。コードがより効率的であることはわかっていますが、プロファイル用のユーザー コンピューターのレジストリ エントリを削除する必要がある場合を除いて、すべて機能します。特定のエントリを見つけて削除する方法がわかりません。見ていただけますか?また、コードの改善は大歓迎です。上部の「RWM」グラフィック全体にまだ問題がありますが、それは今のところ重要ではありません。バッチを開けばわかります。

@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
4

2 に答える 2

0

このタスク専用に設計されたツールを使用できます (フォルダー ビューとレジストリ ビューの両方からユーザー プロファイルを完全に削除します) Delprof http://www.microsoft.com/en-us/download/details.aspx?id=5405&751be11f- ede8-5a0c-058c-2ee190a24fa6=Trueこのタスクを実行します。Delprof 2 ( http://www.edugeek.net/forums/windows-7/75098-delprof2-unofficial-successor-microsoft-s-delprof-user-profile -deletion-tool.html )

「ユーザー プロファイルを再作成する」とはどういう意味かについて詳しく説明するかもしれませんが、単にユーザー プロファイルを消去し、Windows に再作成させて、カスタマイズを行うスタートアップ フォルダーにバッチを追加するという意味ですか?

于 2014-06-27T17:45:20.310 に答える