User Profile Cleaning Script for Windows 7 – Version 3.1


If you wind up using this script, please leave a comment letting me know how it worked out for you!

Here is a batch file for cleaning user profiles in Windows 7. This was much easier in XP, but in Windows 7, you need to also clear out the registry values or you will get a Profile error on the next login by the cleared user. I couldn’t find any good ones online that met my needs perfectly, so I made my own.

One of the biggest criteria that I had was that I wanted to specify users for the script to leave alone. It seemed like anyone that made a script for profile deletion wiped the ground clean and I wanted to be able to retain users of my choosing. This is especially helpful in lab or library situations, to set this script as a logoff hook. There are two places that you would need to enter accounts to exclude from the wipe – one in the directory clean and one in the registry clean, just look for the commented areas below. Enjoy!

Change History:
Version 2.2 – Added server-reporting error verification
Version 3.0 – Nearly complete rewrite to account for appended (.001, .002, etc) profiles as well as providing cleaner code
Version 3.1 (Current) – Altered to work with user accounts that contain a space between two words.

@ECHO OFF

:: --------------------------------------
::
:: Windows 7 User Profile Cleaning Script
:: Version 3.1
::
:: Written by Mike Stone
:: mikestone@gmail.com
:: http://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
About these ads

115 thoughts on “User Profile Cleaning Script for Windows 7 – Version 3.1

  1. I still can’t delete old profile that is more than XX numbers of days and please explain me how to add the date in the script and where as the script gets the job done but not in the right manner help will be appreciated as i have 2400 system of windows 7 that needs this script to be done

    • Sam,

      Use this code in the for loops and change out the XX with the number of days old you want to check for:

      forfiles /m NTUSER.dat /c “cmd /c Del testfile.txt ” /d -XX

      The above code will check the NTUSER.dat last “written” date and will compare it to the days old variable you set. If there is a match you will get an exit code of 0. If there is not a match you will get an exit code of 1.

      So, per account it would run this command and if a match was found you could have it then wipe the profile.

      • Hi Steve,

        Thanks for the prompt response for the code but it still seems to be functioning the same working as it deletes the user profile completely and i would be even grateful if you add and make the script of a new version with the below needs.

        1.Delete the old profile with XX number of days and not delete the default profiles.

        2.Delete the above old profile registry.

        Again i would be grateful if you could make a script out of this and sorry for such trouble.

      • Hello Mike thanks for the script again.

        But when a ran it on a system i get an error message like the below

        Invalid Global Switch.
        Skipping Deletion on Profile: rahulkanojia
        ERROR: No files found with the specified search criteria.
        Skipping Deletion on Profile: shankara
        ERROR: No files found with the specified search criteria.
        Skipping Deletion on Profile: nehas
        ERROR: No files found with the specified search criteria.
        Skipping Deletion on Profile: antonyb
        ERROR: No files found with the specified search criteria.

        note : this system is in domain and yes i executed this script directly on that machine and also sepecified the domain.

      • Apologies, I had a few revisions of the file floating around during testing. In the version I gave you it appears I forgot to change the ‘+’ to ‘-‘ next to the “days” variable. I’ve made the adjustment to the script which can be found here:

        http://webpages.uncc.edu/~scrull/DeleteProfilesAfterXDays.bat

        Sorry for the confusion. FYI – here is a link to the utility I’m basing the age variable off of if you need to tweak it further:

        http://technet.microsoft.com/en-us/library/cc753551.aspx

      • Thanks a LOT Steve the script works perfectly will be testing for a week or so before deploying it on a larger network.

        Again thanks a lot with out your help it would take a lot of pain to get this job done.

  2. Hi Mike,
    The script works well :) is there any way or command that could be included to check number of days and based on our requirement the script deletes the profiles.
    ex: Remprof has switch /D:( number of days) to check.

  3. Thank you for the script, it appears to be working as intended. The only thing I have noticed are remnants of deleted domain profile folders. All the content within the profile folder was removed, however the actually folder itself still remained.

    • Do a scheduled reboot right before you run the script and it should dismount all ntuser data and allow for a smoother removal.

      • Hello Steve,
        I am having the same issue as Hoon Choi. The script emptied out the contents of C:\Users\’AllUserNames’ and it correctly removes the registry entry. I am still left with the actual C:\Users\’AllUserNames’ folder though. The machines I have tested on have not had any users on them for several days as school is out for the summer. They had been rebooted several times prior to running the script.

        Any suggestions?
        Thank you,
        Barry

  4. Hi Mike , i changed this line
    :USERPRESERVE
    set userpreserve=Administrator,All Users,UpdatusUser,Default,Default User,Public,
    set userpreserve=%userpreserve%%username%,

    this way the users on logon auto delete the others users.this way tehy do the job for you.

  5. I’ve modified the script to fix two things:

    1) If a user is still logged into the machine, it won’t touch their profile or files.
    2) If the script deletes the user profile, but files still remain in C:\Users it will delete them.

    @ECHO OFF

    :: ======================================================================
    :: SET LOGGED IN USER VARIABLE, IF AVAILABLE (MARK AS EXEMPT TEMPORARILY)
    :: ======================================================================
    for /f “tokens=3 delims=\” %%i in (“%USERPROFILE%”) do (set user=%%i) 2>&1
    net stop WSearch

    :: ======================================================================
    :: EXEMPT ACCOUNTS
    :: ======================================================================
    :USERPRESERVE
    set userpreserve=”Administrator,Default,Public,%user%”

    :: ======================================================================
    :: ENUMERATE NON-EXEMPT ACCOUNTS
    :: ======================================================================
    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

    :: ======================================================================
    :: DETERMINE IF SPACES ARE IN USERNAME
    :: ======================================================================
    :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

    :: ======================================================================
    :: VERIFY USER ACCOUNTS ARE NOT EXEMPT FROM DELETION
    :: ======================================================================
    :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

    :: ======================================================================
    :: EXEMPT USER – SKIP DELETION
    :: ======================================================================
    :SKIP
    ECHO Skipping user clean for … %USERREG%
    echo.
    GOTO :EOF

    :: ======================================================================
    :: NON-EXEMPT USER – DELETE PROFILE
    :: ======================================================================
    :CLEAN
    ECHO Cleaning user profile for … %USERREG%
    echo.
    RD /S /Q “C:\Users\%USERREG%” > NUL
    ECHO Cleaning user registry for … %USERREG%
    echo.
    reg delete %1 /f
    IF EXIST “C:\Users\%USERREG%” GOTO RETRYCLEAN1
    GOTO :EOF

    :RETRYCLEAN1
    ECHO Retrying clean of user profile %USERREG%
    echo.
    TAKEOWN /F “C:\Users\%USERREG%” /r /d y
    CACLS “C:\Users\%USERREG%” /T /E /G SYSTEM:F Administrator:F
    RD /S /Q “C:\Users\%USERREG%” > NUL
    GOTO :EOF

    :: ======================================================================
    :: VERIFY NON-EXEMPT ACCOUNTS DELETED PROPERLY
    :: ======================================================================
    :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

    :: =======================================================================================================
    :: DETERMINE SCRIPT SUCCESS
    :: =======================================================================================================
    :REPORT
    IF [%USERERROR%]==[YES] (
    set RESULT=FAILURE
    ) ELSE (
    set RESULT=SUCCESS
    )
    GOTO EXIT

    :: =======================================================================================================
    :: PERFORM FINAL CLEANUP EFFORTS – EXIT SCRIPT
    :: =======================================================================================================

    :EXIT
    net start WSearch
    IF [%RESULT%]==[SUCCESS] (
    ATTRIB +H C:\Users\Administrator
    ATTRIB +H C:\Users\Public
    ATTRIB +H C:\Users\Default

    FOR /D %%i IN (“C:\Users\*”) DO RD /S /Q “%%i” DEL /Q “C:\Users\*.*”

    ATTRIB -H C:\Users\Administrator
    ATTRIB -H C:\Users\Public
    ATTRIB -H C:\Users\Default
    )
    pause
    exit

    :EOF

      • Interesting. I run this regularly and haven’t run into that issue. try removing %user% from the exempt user accounts and re-run the script. Let me know if it runs properly. If that part is breaking ill develop an alternative.

  6. Hi Mike,

    I need to delete unused profiles , but i need to deleted profile which is not used for more than 7 days. need you assistance

    • Hi Steve,

      Thanks for sharing.

      I have tried Delprof2, But it works only with Domain Admin’s account, it is not working in non admin users. Please let me know how can i run the script in Non admin users.

  7. Under the :CLEAN and :RETRYCLEAN calls enter the following:

    TAKEOWN /F “C:\Users\%USERREG%” /r /d /y
    CACLS “C:\Users\%USERREG%” /T /E /G SYSTEM:F Administrators:F
    RD /S /Q “C:\Users\%USERREG%” > NUL

  8. Hi Mike,

    Great script.

    I do not have your knowledge. The profiles of all users are in the C:. Your script cleans properly.

    For security, the folders and files stored by users files are located in D: / Library / Documents / Users Name /

    I can not seem to adapt your code to clean up all the folders and files on all user profiles in the D:.

    A little help please?

  9. Thank you a bunch for sharing this with all of us you really
    recognise what you are talking about! Bookmarked.
    Please additionally consult with my site =).
    We can have a hyperlink change contract between us

  10. Mike, Love the script. Work in a K-12 environment and this is great !!! Is there a way to force deletion of profiles even if there is files left in certain user profiles. Getting a lot of “the directory is not empty” errors while deleting. THANKS FOR ALL YOUR HELP :-) !!!!

    • I second this completely. While the script is still fantastic, I was forced to remove these folders manually after the script had run, which prevents me from setting this script to run automatically until I find a good a fix. Even so, thanks for this script; it’s a real time-saver.

  11. Great script…adapted to meet our needs (large military campus with hundreds of profiles on thousands of computers). Ran on one computer,..exactly what I was looking for. I’m going to push to all computers and run monthly. Thank you!

  12. Mike,

    This looks like it’s exactly what I need, but I can’t seem to get it to do anything at a .bat file. I am new to .bat files, but I copied it exactly from your page and saved it on the desktop as a .bat file. Any suggestions?

    Thank you for this script and your help!

    Kevin

  13. Very, very slick……
    I like this…..a lot. I would like to see a little more error checking in the “net use” area (I know, it’s optional), but other than that, nice…..

  14. Instead of removing every profile except for %userpreserve%, is it possible to remove *only* the specified profiles? I’m always scared to automate deletion of something that I didn’t directly specify.

  15. I’ve read that the file left behind was due to the update service running which prevents the file from being deleted. I’ve tried putting in a net stop windows update services. I was still unable to delete several profiles.

  16. The script seems to run pretty well except it doesn’t always remove the users folder fro C:\Users. If i show hidden files it looks like there is data i the appdata folder that is preventing it from deleting. Do you have any ideas how to correct this?

  17. Is there a VB.Net way I can do this ? I need to run the app on a server to clean profiles from a set of shared machines. Any thoughts?

  18. My partner and I absolutely love your blog and find a lot of your post’s to be just what I’m looking for.
    Do you offer guest writers to write content in your case?
    I wouldn’t mind composing a post or elaborating on a few of the subjects you write regarding here. Again, awesome web site!

  19. Thank you so much for creating this excellent script! This is exactly what we were looking for to clean our labs and library computers. It cleans about 85% of the profiles. On question – How would I edit the script so it will clean off the remaining profiles with dual or triple initials? For example: ab.smith or a.b.smith

  20. Mike, seems to be working well, school lab machines with hundreds of profiles – but watching the cmd screen I see a lof of “The directory is not empty” errors. Any idea what is causing this?

    • I have the same problem. Sometimes the Directory is not removed, even if it is empty. The script ends with SUCCESS.
      I see in your script that you are trying to delete the folder 3 times (Retryclean1 and Retryclean2), but it still stays there. Any idea what is causing this?

  21. It works pretty good, but one little thing. It didn’t delete all of the profiles, I had to do it manually. When I delete them manually I get the message ‘you’ll need to provide administrator permission to delete this folder’, when I click on continue it then deletes the folders. Is there a way to bypass this in the script. I am an admin on the PC and I have also tried running the script as an admin and it still does not delete all of the profiles.

  22. I don’t want to delete the profile, only want to clean up things. Can the script be used just to clean-up the profile to get some much needed space back?

  23. any update on if you could make this script only delete profiles that haven’t been modified in the last x number of days?

    • I second that. Been trying to find a way to make it work to delete profiles 14 days or older. I understand it’s free and am grateful, just wanted to make the suggestion.

  24. Hi Mike. Nice script. Any easy way to add a group to the preserve list, like the Administrators group? that way I would not have to add every possible administrator account. Thanks, Sara

  25. Hi mike I love the script works great for our workstation. just wondering do you have one for XP?

  26. Mike,

    I work in a K-12 environment where everyone from grade 3 up has there own account. This is GREAT! Thanks Mike!
    All our student accounts are numerical, is there an easy way to tweak the file to delete only numerical accounts and leave the rest?

  27. Thank you for the script Mike. It works for 80% of the profiles. The
    remaining 20% are profiles with a space (i.e John Smith) and the batch tries to delete user John and tries for Smith and returns “The system cannot find the file specified”. Is there a workaround for this?

    • Just made the fix and released version 3.1. Please give it a try and let me know if it works any better – I was able to try it in small-scale ECHO debugs, but I don’t have an environment to TRULY duplicate the situation, so please provide a “yay” or “nay” as to the new functionality.

  28. Just put out Version 3.0 to replace 2.4 put out over the weekend. Aside from some copy/pasting of select portions, this is a complete rewrite and has been very successful in my tests so far.

  29. Michael,

    Just wanted to tell you thank you for this script. I altered it to do the reverse, ONLY delete the profile mentioned in the PATHCHECK. This is extremely useful, as it allows me to deploy a GPO which runs this batch file and delete User Profiles for specific users across the enterprise. (e.g.: when an employee is terminated, I can add their username to this list and upon reboot, their profile will be deleted from all computers.)

  30. Heya, everyone. I have added to this script for remote reporting of success/fail so that I can monitor the progress of the client computers from my station and get solid data on how it is working in different labs.

    I was thinking about the request to add date-based profile deletion, but I decided to not take up that mantle since there is a group policy object that allows for that. Maybe someday, but it’s not a high priority right now.

  31. Maybe I should read a bit more. I changed it to a batch file. I believe there are some permissions that I need to set. I am sure your script will work. Thanks!

  32. I copied and pasted your script and saved it as a .vbs. I run this as a startup script, but it isn’t working for me. Am I missing something?

    I am trying to get this to run through GPO.

  33. I run this script on a 7 workstation and I excluded a few user accounts, what i’ve noticed is that the users that were excluded can no longer run app at a elevated privilege
    i get an error from explorer.exe cant find .”///

    • You know, that’s not a bad idea. I have some notions on how to make that happen and I’ve been meaning to do some core revisions anyway. I had some issues with some oft-frequently re-ghosted machines (lending laptops with hidden reghost partition) doing some funkiness with tacking a .000 to the end of some profiles which threw off this script a bit. Will work on this and post a new revision soon.

  34. Any thought to adding a date check to your windows 7 profile deletion. Until we get our Domain controllers talking to each other – the Windows 7 autodelete “feature” does not seem to be working through group policy. I’m trying this script tonight but thought the date option might work better in our situation. Anyway – thanks for sharing the script.
    brad

    • Maybe it would be possible for the script to look at the modify date of the profile folder and ignore the ones before a certain time? Not sure if that can even be done though.

      What I do know is that the GP settings to delete a profile after so many days doesn’t work due to the file *.dat.LOG1 with in a profile. This file is used to determine that last logged time for any profile by the last modify date. However when Defender or in my case AV scans this file it is mark as modified on the time of being scanned. So… windows never see a profile older than 30 days.

      Love the script, makes my life a lot easier!
      Thanks Mike for sharing you work

      • Nathan,

        It’s something I’ve looked into quite a bit. The big hitch with this is getting Windows to properly display the last date in which a user has logged in. Looking at the modified date of a user profile is disingenuous and problematic. If there were some way to run a command basically getting some form of output stating “user xxxxxx hasn’t logged in within xxxxx days”, then it would be an extremely simple process to implement.

        I’ve thought of a few ways to make this happen, like another script to run at login that would make a hidden notation within a text file that could be referenced later, but I’m still not entirely sold on the idea. The thing I like about this is the simplicity of a single script.

        Dunno – something for the future. Right now I’m pretty tied up at work developing a new Zero-Touch imaging system for WIM files and at home working on my Minecraft server. :)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s