清除回收站的正确方法是什么全部用户在 Windows Server 2008 R2 中?
答案1
据我所知,这不是 Microsoft 支持的“官方”方法。有两种选择。一种是删除 c:\$Recycle.Bin,另一种是编写脚本 cleanmgr.exe 以在每次用户登录时运行。
最接近“官方”支持的删除 c:\$Recycle.bin 的来自这个微软知识库,其中引用了 XP 和 Vista,但暗示了预期的行为。
立即删除
如果您希望立即执行此操作,似乎只需运行rd /s c:\$Recycle.Bin
,Windows 就会在下次需要时重新创建必要的文件夹。我刚刚对此进行了快速测试,它似乎有效,但显然要谨慎行事。
定期登录脚本删除
您可以使用磁盘清理工具 (cleanmgr.exe) 执行此操作。不幸的是,微软决定将其与“桌面体验”功能集捆绑在一起,这意味着您必须安装一堆其他垃圾并重新启动。
另一种方法是抓取以下两个文件并将它们移动到指定位置科技网:
C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.1.7600.16385_none_c9392808773cd7da\cleanmgr.exe
C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_en-us_b9cb6194b257cc63\cleanmgr.exe.mui
Cleanmgr.exe 应该进入 %systemroot%\System32。
Cleanmgr.exe.mui 应该进入 %systemroot%\System32\en-US。
仅运行 cleanmgr 无法清除所有人的回收站,但您可以使用 /sageset 和 /sagerun 制作一个通过 GPO 为所有用户运行的登录脚本,该脚本将在下次登录时清除他们的回收站,如所述这里。这不是最干净的东西,但它可以工作。链接的文章适用于 XP,但语法自 Server 2008 R2 起保持不变。
答案2
我认为没有适当的方法记录下来,因为用户的回收站在他们的个人资料中是分开保存的;这也会造成安全隐患,因为如果用户仔细阅读回收站中的文档或项目,可能会导致某些文档泄露。
也许可以编写一个具有管理员权限的脚本来运行并清除每个本地配置文件的垃圾箱中的文件(但如果您有漫游配置文件,则可能仍会同步到保存配置文件的服务器)。但您需要正确设置权限和所有权;我知道在我们的服务器上,管理员无权访问存储服务器上的配置文件;管理员必须拥有配置文件的所有权,当我们完成后,将所有权归还给适当的用户,否则配置文件不再适合他们。
您可以尝试在注销时运行一个进程来清除每个用户的垃圾目录,但这也会导致意外删除他们想要稍后恢复的内容,而由于它在上次注销时已被删除,所以现在它将消失。
可能“正确”的做法是在工作站和服务器上配置配额,当存储空间达到配额时,用户就会知道他们必须从回收站中删除项目。出于安全考虑,这将是一个培训问题。否则,您需要一个解决方法。
@markm 有一个实用程序建议似乎可以做到这一点;我坚持认为这不是一个“正确”的方法,因为它是一个附加组件,默认情况下不内置在 Windows 中(尽管我对没有包含有用的管理实用程序并不感到惊讶。)我担心使用它的唯一其他问题是它可能必须在工作站和服务器上运行,否则您可能会遇到配置文件同步问题,无法确定出现的位置。它看起来应该只是一个用于访问 Windows 中“磁盘清理”选项卡的迷你工具。
另一个想法……未经测试……是使用文件夹重定向将他们的垃圾文件夹重定向到中央服务器。然而,我会将此归类为一个极其糟糕的想法(tm)。然后您将从该共享目录中删除他们的文件。然而,通过网络、安全设置等链接此内容将使其成为一级优先级的临时解决方案,这将使其他系统管理员在自燃之前逃跑。
答案3
我运行了 TreeSize Free,发现回收站里有 15GB 的数据,但我看不到,可能是因为某个很久没用过的用户删除了这些数据。但在 TreeSize Pro 中,我可以删除这些数据,这样数据就进入了我能看到的回收站。
答案4
我有一个回收站,显示有超过 4GB 的数据,但我无法清除它。进入后,发现服务器上有一堆不再使用的配置文件,并在系统属性 - 高级 - 用户配置文件下删除它们,现在回收站是空的。
显然,不要删除任何当前仍在使用或正在使用的帐户,但作为管理员,您可以这样做。