Sometimes when a Windows box crashes it is possible that the user who recently worked at it cannot log in any more using his dynamic local user account. Therefore, it would be fine if Windows deleted all user accounts that must not exist on that machine. For example, if you have many users who can use any machine on your network (e.g. in a university computer pool), you don't want local user accounts to stay resident on every computer. This tool has been written to manage this task.

Every time the cleanup service is started, it performs a cleanup task, that is, searching for user accounts that are not local administrator, local guest (both determined by their sid) or explicitly excluded (see /excludeusers and /excludegroups below). The service doesn't stop deleting if one profile cannot be deleted. On system shutdown the service will perform a new cleanup task.


cleanup <command> [options]


cleanup /install

copies the executable to %windir%\system32 and creates a service named cleanup that is automatically started with LocalSystem permissions

cleanup /uninstall

deletes the service, but doesn't delete the executable %windir%\system32\cleanup.exe

cleanup /delete

deletes the service, cleans the registry and deletes the executable

cleanup /run

performs a cleanup task without using the service. You should have administrative privileges. Use this command if you don't want to install cleanup.exe as Service. It is possible that you see some error message, when cleanup remove an account but can't find a corresponding profile to delete

cleanup /config

shows the current configuration (as stored in HKLM\Software\coolsolutions\cleanup), that is, which users/group are excluded

cleanup /version

display the current version of cleanup. At the moment this is 1.3. There has been no version information before 1.3

cleanup /service

DO NOT USE THIS COMMAND. It tells cleanup that it is run as service. You won't need it.


/excludeusers user1[,user2[,...]]

when used with the commands /run or /install this will prevent cleanup.exe from deleting the specified users. All names of the users which must not be deleted are stored in HKLM\Software\coolsolutions\cleanup.

/excludegroups group1[,group2[,...]]

the same as /excludeusers, but prevents user that are members of the listed groups to be deleted.

/includeusers user1[,user2[,...]]

says that cleanup should delete the listed users, even if there groups are listed in /excludegroups. This parameter hass less priority than /excludeusers.


cleanup /install /excludeusers waetzig /excludegroups administrators

will create a new service named "cleanup" and stores the names "waetzig" and "administrator" in the registry to protect "waetzig" and members of "administrators"



new command /config

new command /version

new option /excludegroups

new option /includeusers

changed name of /exclude to /excludeusers



Comment List