Jump to content
CCleaner Community Forums
Mauller07

Running CCleaner over a domain to clean profiles

Recommended Posts

I have tried many of the techniques notices and not had any luck with many i even tried to setup Task scheduler to start CCleaner in /AUTO mode at user login to no avail since Active Directory and the type of user logon seems to disable it by default.

 

Then it dawned on me that Active Directory must have a featue in the General Group Policies to enable a program to be run at login and after an hour of trawling through the local GPO i found a feature that does just what i wanted and many people have been asking for.

 

Note that i am not trained in the use of windows server and have been doing work at a local school with a relative, being the only on site technitian. they had been having problems with User profiles causing machine slow downs, hangs and crashes, so helping with other general work i mentiond crap cleaner to him. i started to Trawl throught the servers GPO looking for a helpfull feature, also note i have over 6 years of computer building and maintenance experience so it is not like i was going to destory an entire schools Domain and DHCP Host server lol.

 

so heres the proof in the pudding and try it at your own discrimination, but it works and it works well but will take time to clean the machines completely if your users are machine hoppers since it will only clean the profile of the user that logs on.

 

CCleaner must be installed on all client computers for this method to be of any effect

running it as a scheduled task on the server couldnt kill either - no damage so far :)

 

first we find the Run Logon feature in the User Configuration/Administrative Templates/system subset depending on verion of server run it may have another hierarchal order

(server 03 in example Server 08 in Group policy 1 Image)

 

Then select logon and select the feature "run these programs at user logon"

Select Enable then select SHOW in the square box to bring up the Programs dialogue box

select add and input the path "Installation directory\CCleaner\CCleaner.exe /AUTO"

(example shown in Group policy 2 image)

 

This is a tried and tested method and i am currently rolling it out over the schools computer network in aid of my relative

 

Also if you have multiple user policys make sure to add it to every policy or it will only work on the policys you have enabled it on

 

IE in the school we have a Pupils and a Teachers policy giving different privilages to each group

 

Sticky this thread as many people have asked about this and without CCleaners ability to clean multiple profiles this seems the only viable option for Domain controlled computers also when CCleaner gains the ability of multiple profile cleaning it would only Aid this method in cleaning profiles instantly as a user logs on as it is far easier then setting up task scheduler on every single computer when all you need is to type in one string on a policy :P

 

sorry about any bad grammer had a long day and rather tired at this point as ive just setup an entire rooms worth of computers earlier today aswell as having college lol

 

Your local friendly techie

post-19517-1206053466_thumb.jpg

post-19517-1206053489_thumb.jpg

post-19517-1206053466_thumb.jpg

post-19517-1206053489_thumb.jpg

Share this post


Link to post
Share on other sites

thanks, been tryin to figure out how to do this for ages :)

 

Will this work with a portable version placed in an all user accessible network folder?

Share this post


Link to post
Share on other sites

I have this batch file on my business network [mostly made of computer labs; its a university] called Autorun.bat:

 

 

@ECHO OFFschtasks /delete /tn Autoclean /Fschtasks /create /sc onidle /i 180 /tn Autoclean /tr "//networkserver/backgrounds$/CCleaner/autorun.bat" /ru "domain\labuser" /rp "password"START \\networkserver\backgrounds$\CCleaner\CCleaner.exe /AUTOEXIT

 

 

The \\networkserver\backgrounds$\CCleaner\ directory on the network is a hidden folder for running CCleaner and has all of the CCleaner-related config files and a typical CCleaner install [not the portable]. I mostly use the schtasks recreation ability of this batch file because the lab computers have varying frequencies of use, and some classes last for more than 4 hours.

 

The main thing I did with CCleaner was set it to remove everything that's not a part of the hard drive image we use at the uni by using a massive include/exclude list that excludes every folder and shortcut that is supposed to be there and includes every directory on the hard drive [very useful for removing games and game shortcuts without going through privilege limitations].

 

So the batch file lets me configure how often it runs by modifying the batch on the networkserver, lets me configure the erased directories from modifying the config ini files on the network server, and lets me update by downloading new versions and replacing them. This batch is deployed on at least 200 workstations, so I needed a remote management solution that could be deployed with remote scripting :-)

 

Hope this helps someone out there :D

Share this post


Link to post
Share on other sites
I have this batch file on my business network [mostly made of computer labs; its a university] called Autorun.bat:

 

@ECHO OFF

schtasks /delete /tn Autoclean /F

schtasks /create /sc onidle /i 180 /tn Autoclean /tr "//networkserver/backgrounds$/CCleaner/autorun.bat" /ru "domain\labuser" /rp "password"

START \\networkserver\backgrounds$\CCleaner\CCleaner.exe /AUTO

EXIT

 

The \\networkserver\backgrounds$\CCleaner\ directory on the network is a hidden folder for running CCleaner and has all of the CCleaner-related config files and a typical CCleaner install [not the portable]. I mostly use the schtasks recreation ability of this batch file because the lab computers have varying frequencies of use, and some classes last for more than 4 hours.

 

The main thing I did with CCleaner was set it to remove everything that's not a part of the hard drive image we use at the uni by using a massive include/exclude list that excludes every folder and shortcut that is supposed to be there and includes every directory on the hard drive [very useful for removing games and game shortcuts without going through privilege limitations].

 

So the batch file lets me configure how often it runs by modifying the batch on the networkserver, lets me configure the erased directories from modifying the config ini files on the network server, and lets me update by downloading new versions and replacing them. This batch is deployed on at least 200 workstations, so I needed a remote management solution that could be deployed with remote scripting :-)

 

Hope this helps someone out there :D

Hi Panda,

I sure hope that squirrel doesn't gag too much, too often. :lol:

Wow! Thank you. I am sure many can benefit from your report and suggestions.

I'll bet the students would like to find out who you are ?

You are one tuff "Cookie". This is great for the schools, universities etc.

 

 

Thank you for your contribution. We love our members, especially one's like you.

Great work,

:) davey

Share this post


Link to post
Share on other sites
Hmmm. How can I use the

%username%, %userprofile% variables & etc?

Why and where do you want to use them

Share this post


Link to post
Share on other sites

I suspect the your CCleaner is not for enterprise use.

Most of the applications will not run on server OS.

I am also thinking that your server is 64bit.

:)

Share this post


Link to post
Share on other sites

this is the comand to do it on all turned on PC's on a network useing PS Tools, psexec

 

psexec -i \\* "C:\Program Files\CCleaner\CCleaner.exe" /AUTO

Share this post


Link to post
Share on other sites

Please, let me Know why Ccleaner 2.15 and 2.16 aren?t compatible with Windows Millennium?

 

Thank you.

LC

 

 

email address removed by moderator to avoid spamming

Share this post


Link to post
Share on other sites

Moderator!

 

Please, be kind and answe my question, too?

 

Thank you.

LC

 

email address removed by moderator to avoid spamming[/i]

Share this post


Link to post
Share on other sites

Moderator

 

Thank you.

I'm sorry, but you are wrong, as well as the annoucement!

I'm calm. And polited and educated...

Obscurum per obscurius.

 

Regards

LC

Share this post


Link to post
Share on other sites
Moderator

 

Thank you.

I'm sorry, but you are wrong, as well as the annoucement!

I'm calm. And polited and educated...

Obscurum per obscurius.

 

Regards LC

But you are a Newbie :P

Share this post


Link to post
Share on other sites
Moderator

 

Thank you.

I'm sorry, but you are wrong, as well as the annoucement!

I'm calm. And polited and educated...

Obscurum per obscurius.

 

Regards

LC

 

 

If you would like to start a thread in the bug reporting section here, with some findings you have made

 

http://forum.piriform.com/index.php?showforum=8

 

I am sure MrRon the official bug fixer will see it. :)

Share this post


Link to post
Share on other sites
this is the comand to do it on all turned on PC's on a network useing PS Tools, psexec

 

psexec -i \\* "C:\Program Files\CCleaner\CCleaner.exe" /AUTO

 

Thanks for the Input But ive tried this before and it doesnt work when working with GPO's

 

Been a while since i posted this and all the computers on the network are still working well

 

regards

Share this post


Link to post
Share on other sites

Like Mauller07's I would run CCleaner via Group Policy however would do it via login scripts.

 

CCleaner%20Domain%20GP.jpg

 

Another diffrance is I would not actually install it on the clients. By putting it on the server when an updated build comes out you only have to update one version and you can centrally control the settings for ccleaner in the ccleaner.ini. This is done by getting the portible version of CCleaner and putting it on a network share, or even better use a hiden network share (to make a share hidden put $ after the share name in the advanced sharing settings box)

 

CCleaner%20Domain%20Share.jpg

 

Hope this helps.

Share this post


Link to post
Share on other sites

I wrote an AutoIT script that will parse the profile directory and add lines in the CCleaner.ini file to delete "temp" and "temporary internet files"

 

This is then just a job that is run in Altiris regardless if users are logged in or out. I also have it deleting CCleaner off the machine after so I don't have to leave it there.

 

#include <File.au3>

#include <Array.au3>

Global $count

FileCopy('\\YOURSHARE\CCleaner\CCleaner.exe', @SystemDir & '\CCleaner.exe', 1)

FileCopy('\\YOURSHARE\CCleaner\portable.dat', @SystemDir & '\portable.dat', 1)

FileCopy('\\YOURSHARE\CCleaner\ccleaner.ini', @SystemDir & '\ccleaner.ini', 1)

 

;~ Check for docs and settings for profiles

$uList = _FileListToArray('C:\Documents and Settings')

If @error = 1 Then

Exit

EndIf

 

For $i = 1 To $uList[0]

 

If $uList[$i] = "All Users" Or $uList[$i] = "Default User" Or $uList[$i] = "LocalService" Or $uList[$i] = "NetworkService" Then

Else

_Count()

IniWrite(@SystemDir & '\ccleaner.ini', 'Options', 'Include' & $count, 'PATH|C:\Documents and Settings\' & $uList[$i] & '\Local Settings\Temp\|*.*')

_Count()

IniWrite(@SystemDir & '\ccleaner.ini', 'Options', 'Include' & $count, 'PATH|C:\Documents and Settings\' & $uList[$i] & '\Local Settings\Temporary Internet Files\|*.*')

EndIf

 

Next

 

$count = 0

 

RunWait(@SystemDir & '\CCleaner.exe')

FileDelete(@SystemDir & '\CCleaner.exe')

FileDelete(@SystemDir & '\portable.dat')

FileDelete(@SystemDir & '\ccleaner.ini')

 

Func _Count()

$count = $count + 1

EndFunc ;==>_Count

Share this post


Link to post
Share on other sites
simulation credit auto

Wow. you're really pofessional on this field.

thanks mbkowns so much for your post ;):rolleyes:

 

 

Removed the count function didn't need it just how It came out when I wrote it. So in a nutshell below works with less code.

 

 

#include <File.au3>

#include <Array.au3>

Global $count

FileCopy('\\YOURSHARE\CCleaner\CCleaner.exe', @SystemDir & '\CCleaner.exe', 1)

FileCopy('\\YOURSHARE\CCleaner\portable.dat', @SystemDir & '\portable.dat', 1)

FileCopy('\\YOURSHARE\CCleaner\ccleaner.ini', @SystemDir & '\ccleaner.ini', 1)

 

;~ Check for docs and settings for profiles

$uList = _FileListToArray('C:\Documents and Settings')

If @error = 1 Then

Exit

EndIf

 

For $i = 1 To $uList[0]

 

If $uList[$i] = "All Users" Or $uList[$i] = "Default User" Or $uList[$i] = "LocalService" Or $uList[$i] = "NetworkService" Then

Else

$count = $count + 1

IniWrite(@SystemDir & '\ccleaner.ini', 'Options', 'Include' & $count, 'PATH|C:\Documents and Settings\' & $uList[$i] & '\Local Settings\Temp\|*.*')

$count = $count + 1

IniWrite(@SystemDir & '\ccleaner.ini', 'Options', 'Include' & $count, 'PATH|C:\Documents and Settings\' & $uList[$i] & '\Local Settings\Temporary Internet Files\|*.*')

EndIf

Next

 

 

RunWait(@SystemDir & '\CCleaner.exe')

FileDelete(@SystemDir & '\CCleaner.exe')

FileDelete(@SystemDir & '\portable.dat')

FileDelete(@SystemDir & '\ccleaner.ini')

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...