rbh30 Posted December 14, 2015 Posted December 14, 2015 (edited) Hi All, We have a Windows 7 environment with roaming profiles , unfortunately most of these profiles are huge. So during the festive break we plan to go into these huge profiles and clear some excessive data such as app data and so forth. BUT the problem we have is once we make all the changes to there profile path on AD the changes would revert back to normal as the profiles SID would pick up the old profile on their laptops (which they will be keeping during the break). Of course we can go into all the laptops and desktops and remove the profile from registry and so forth but that would be a huge task. Does any one have any other option? Thanks Edited December 14, 2015 by rbh30
Oaktech Posted December 14, 2015 Posted December 14, 2015 Could you script Helge Klein's DelProf as a start up script to clear the profiles off the machine before the user logs in? 1
ITGURU Posted December 14, 2015 Posted December 14, 2015 This is my startup script for Windows 7 PC - it removes all local profiles at startup apart from the ones you want to exclude as a 'case' Const LocalDocumentsFolder = "C:\Users" set objFSO = createobject("Scripting.FileSystemObject") set objFolder = objFSO.GetFolder(localdocumentsfolder) on error resume next for each fldr in objFolder.SubFolders if not isexception(fldr.name) then objFSO.DeleteFolder fldr.path, True end if next Function isException(byval foldername) select case foldername case "All Users" isException = True case "Default User" isException = True case "LocalService" isException = True case "NetworkService" isException = True case "Public" isException = True case Else isException = False End Select End Function 1
MkII Posted December 14, 2015 Posted December 14, 2015 (edited) Run delprofile at logoff to delete all users profiles? Or specify the logging in user profile to delete? @ECHO OFF :: -------------------------------------- :: :: Windows 7 User Profile Cleaning Script :: Version 3.1 :: :: Written by Mike Stone :: [email protected] :: https://mstoneblog.wordpress.com :: :: -------------------------------------- :: :: Welcome! This script is designed to automate the process of flushing :: user profiles within Windows 7, while at the same time preserving :: profiles of your choosing, including domain users. :: :: This script is written as an example of wanting all domain users wiped :: except for the one called "pctest". :: :: Portions of the script that will require manual edits will be preceded :: by instructions with these "double colon" comment marks. :: :: Please let me know how well (or not well) this works for you or any :: features you can think of that could be added. :: :: -------------------------------------- title Windows 7 User Profile Cleaning :: ---------- :: Add any users you wish to exclude from the wipe to the "userpreserve" :: line below and separate them by commas. Be careful - these are :: case-sensitive. :: ---------- :USERPRESERVE set userpreserve="Administrator,All Users,UpdatusUser,Default,Default User,Public,pctest" FOR /f "tokens=*" %%a IN ('reg query "hklm\software\microsoft\windows nt\currentversion\profilelist"^|find /i "s-1-5-21"') DO CALL :REGCHECK "%%a" GOTO VERIFY :REGCHECK set SPACECHECK= FOR /f "tokens=3,4" %%b in ('reg query %1 /v ProfileImagePath') DO SET USERREGPATH=%%b %%c FOR /f "tokens=2" %%d in ('echo %USERREGPATH%') DO SET SPACECHECK=%%d IF ["%SPACECHECK%"]==[""] GOTO REGCHECK2 GOTO USERCHECK :REGCHECK2 FOR /f "tokens=3" %%g in ('reg query %1 /v ProfileImagePath') DO SET USERREGPATH=%%g GOTO USERCHECK :USERCHECK FOR /f "tokens=3 delims=\" %%e in ('echo %USERREGPATH%') DO SET USERREG=%%e FOR /f "tokens=1 delims=." %%f IN ('echo %USERREG%') DO SET USERREGPARSE=%%f ECHO %USERPRESERVE%|find /I "%USERREGPARSE%" > NUL IF ERRORLEVEL=1 GOTO CLEAN IF ERRORLEVEL=0 GOTO SKIP :SKIP ECHO Skipping user clean for %USERREG% GOTO :EOF :CLEAN ECHO Cleaning user profile for %USERREG% rmdir "C:\Users\%USERREG%" /s /q > NUL ECHO Cleaning user registry for %USERREG% reg delete %1 /f IF EXIST "C:\Users\%USERREG%" GOTO RETRYCLEAN1 GOTO :EOF :RETRYCLEAN1 ECHO Retrying clean of user profile %USERREG% rmdir "C:\Users\%USERREG%" /s /q > NUL IF EXIST "C:\Users\%USERREG%" GOTO RETRYCLEAN2 GOTO :EOF :RETRYCLEAN2 ECHO Retrying clean of user profile %USERREG% rmdir "C:\Users\%USERREG%" /s /q > NUL GOTO :EOF :VERIFY FOR /f "tokens=*" %%g IN ('reg query "hklm\software\microsoft\windows nt\currentversion\profilelist"^|find /i "s-1-5-21"') DO CALL :REGCHECKV "%%g" GOTO REPORT :REGCHECKV set SPACECHECKV= FOR /f "tokens=3,4" %%h in ('reg query %1 /v ProfileImagePath') DO SET USERREGPATHV=%%h %%i FOR /f "tokens=2" %%j in ('echo %USERREGPATHV%') DO SET SPACECHECKV=%%j IF ["%SPACECHECKV%"]==[""] GOTO REGCHECKV2 GOTO USERCHECKV :REGCHECKV2 FOR /f "tokens=3" %%k in ('reg query %1 /v ProfileImagePath') DO SET USERREGPATHV=%%k GOTO USERCHECKV :USERCHECKV FOR /f "tokens=3 delims=\" %%l in ('echo %USERREGPATHV%') DO SET USERREGV=%%l FOR /f "tokens=1 delims=." %%m IN ('echo %USERREGV%') DO SET USERREGPARSEV=%%m ECHO %USERPRESERVE%|find /I "%USERREGPARSEV%" > NUL IF ERRORLEVEL=1 GOTO VERIFYERROR IF ERRORLEVEL=0 GOTO :EOF :VERIFYERROR SET USERERROR=YES GOTO :EOF :REPORT IF [%USERERROR%]==[YES] ( set RESULT=FAILURE ) ELSE ( set RESULT=SUCCESS ) :: ---------- :: This is fairly optional - it's just something I added so :: that I could keep an eye on the labs remotely to make :: sure there weren't masses of critical errors with the :: script failing. :: :: If you don't want it, just comment-out or remove the :: "net use" line. :: :: If you do want it, then make the necessary modifications :: to the net use to map an appropriate sharepoint. :: ---------- net use t: \\server\share IF EXIST "t:\labreport.txt" ( GOTO REPORTGEN ) ELSE ( GOTO EXIT ) :REPORTGEN FOR /F "tokens=*" %%n in ('echo %date:~10,4%-%date:~4,2%-%date:~7,2% %time:~0,2%-%time:~3,2%-%time:~6,2%') DO SET TDATETIME=%%n FOR /F "tokens=14" %%o in ('ipconfig^|find "IPv4 Address"') DO SET IPNUMBER=%%o ECHO. %RESULT% %COMPUTERNAME% %IPNUMBER% %TDATETIME%>>"t:\labreport.txt" net use t: /delete GOTO EXIT :EXIT exit :EOF delprofile.zip Edited December 14, 2015 by MkII 2
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now