Terminal server question

I have a terminal server running Windows 2008 R2 with about 100 users.  Each user has a "downloads" folder.  I need to schedule a weekly batch file to delete the files inside of this folder for all users.

 For one user, I can use this simple batch file:
      cd C:\Users\<username>\downloads\
      Del *.* /Q

 Is it possible to delete the contents of the "Downloads" folder for all users - all folders that are in C:\Users?
Rein ChristensenAsked:
Who is Participating?
 
Nick RhodeIT DirectorCommented:
You can use powershell to do it right away for all users and user it as a scheduled task on the server so it runs weekly

$username = gci C:\users
foreach ($user in $username)
{ remove-item c:\users\$user\downloads\*.*
}

Copy it to notepad and save it as .ps1

Right-click and run as powershell
0
 
Nick RhodeIT DirectorCommented:
You would use %username%
1
 
Rein ChristensenAuthor Commented:
So-  cd C:\Users\%username%\downloads\
       Del *.* /Q
0
Simplify Active Directory Administration

Administration of Active Directory does not have to be hard.  Too often what should be a simple task is made more difficult than it needs to be.The solution?  Hyena from SystemTools Software.  With ease-of-use as well as powerful importing and bulk updating capabilities.

 
Rein ChristensenAuthor Commented:
Or what would be a good command to use?
0
 
Nick RhodeIT DirectorCommented:
That would be a tag you would add in group policy or attach as a logoff script for all your users using the RDP Server.  That way it runs on each user that signs into the system.  %username% targets the current user logged in
0
 
Rein ChristensenAuthor Commented:
Is there any other way? besides that? Like running a script on a weekly schedule to do this?
0
 
Rein ChristensenAuthor Commented:
I tried running it in powershell, however a test file that I put there on purpose in a user folder is not getting deleted.
This is the file I am using:
$username = gci C:\users
foreach ($user in $username)
{ remove-item c:\users\$user\downloads\*.*
}
0
 
Rein ChristensenAuthor Commented:
The file is in c:\users\shipping\downloads
0
 
Rein ChristensenAuthor Commented:
When I run the stuff individually in powershell it works fine. So must just be a spacing issue or something.
0
 
Rein ChristensenAuthor Commented:
Any help would be appreciated.
0
 
ItxxCommented:
Could it be that your Powershell executionpolicy is not correctly set?

Either try in Powershell: set-executionpolicy unrestricted and try running the script again.

Or Start -> Run: powershell.exe bypass -file path/to/script.ps1
0
 
Rein ChristensenAuthor Commented:
That was it. Thank you very much Itxx and thank you Nick as well for providing the powershell command.
0
 
Rein ChristensenAuthor Commented:
Worked like a charm.
0
 
Rein ChristensenAuthor Commented:
Is there a way to have it always set as unrestricted?
0
 
ItxxCommented:
I don't think so but you might be able to do it if you make a .bat file that calls powershell.exe -executionpolicy bypass -file path/to/script.ps1
0
 
Rein ChristensenAuthor Commented:
The only reason I am asking, is when I set up a windows scheduled task. It does not run the file, however when I right click the file and do "Run with PowerShell" it works. Now I have it set to "Open with" Notepad, however if I change it to "Open With" Powershell it does not work.
0
 
ItxxCommented:
What happens if you create a .bat file that says: Powershell.exe -executionpolicy bypass -File  path/to/script.ps1

It should run fine from task scheduler
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.