一种在登录时清空用户下载文件夹的方法

一种在登录时清空用户下载文件夹的方法

看似简单的任务,但我的解决方案都不起作用。常规 AD 域和常规用户。我们使用具有非漫游配置文件的终端服务器,因此所有内容都存储在 TS 磁盘上。我们希望在登录时清空他们的下载文件夹,因为他们从不自己这样做,而且我们厌倦了磁盘被填满。

因此,我自然而然地制作了一个简单的 powershell 脚本并创建了一个 GPO 以在登录时运行它。问题是,ps 脚本需要提升权限,而登录脚本在该用户的权限级别运行,无法提升权限。

PS 语句如下:

Get-ChildItem C:\Users\*\Downloads\* | Remove-Item -Force

如果您从提升的 powershell 实例手动运行它,效果会很好。

好的,所以没有 GPO。下一步的想法是在每个终端服务器上创建一个计划任务,并使用具有管理员权限的服务帐户运行。

问题在于,它无法清空每个用户的下载文件夹......只能清空服务帐户的下载文件夹。

所以 - 我不想将每个用户的下载文件夹路径静态地输入到.ps1 文件中,因为这显然将是一场管理噩梦。

那么有人知道吗:

  1. 一种通过 GPO 在用户登录时清空下载文件夹的方法,无需运行脚本即可执行此操作。或
  2. 一种改进脚本的方法,以递归方式查看每个用户的文件夹,找到下载文件夹并清空它...而不必指定每个用户的名称。

这怎么可能轻易做到?谢谢

答案1

如果您使用的命令是该用户登录脚本,那么问题在于您试图删除所有用户的下载内容。

您肯定想删除每个特定用户的下载。因此,如果下载位于他们的个人资料目录中:

Get-ChildItem $env:USERPROFILE\downloads | Remove-Item -recurse

您可能需要对脚本进行签名或设置,-ExecutionPolicy Bypass具体取决于 Powershell 的执行策略。关于如何在登录脚本中运行 Powershell 的建议有很多。

如果你在旧的批处理文件中执行此操作,则非常简单:

rd /s /q %USERPROFILE%\Downloads\*
del /q  %USERPROFILE%\Downloads\*.*

相关内容