Link to home
Start Free TrialLog in
Avatar of Rein Christensen
Rein Christensen

asked on

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?
Avatar of Nick Rhode
Nick Rhode
Flag of United States of America image

You would use %username%
Avatar of Rein Christensen
Rein Christensen

ASKER

So-  cd C:\Users\%username%\downloads\
       Del *.* /Q
Or what would be a good command to use?
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
Is there any other way? besides that? Like running a script on a weekly schedule to do this?
ASKER CERTIFIED SOLUTION
Avatar of Nick Rhode
Nick Rhode
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
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\*.*
}
The file is in c:\users\shipping\downloads
When I run the stuff individually in powershell it works fine. So must just be a spacing issue or something.
Any help would be appreciated.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
That was it. Thank you very much Itxx and thank you Nick as well for providing the powershell command.
Worked like a charm.
Is there a way to have it always set as unrestricted?
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
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.
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