我们有一个“用户”文件夹,它是所有用户文件和网络配置文件的根目录。
使用目录大小实用程序 (WinDirStat),我偶然发现了一个奇怪而令人担忧的问题 - 数千个文件实际上隐藏在 Windows 回收站界面中。每个用户的文件夹下面都有一个 RECYCLER 文件夹My Documents
,例如:
\\server1\Users\smithj\smithj's Documents\RECYCLER\S-1-5-21-nnnnnn
我们的用户中很少有人拥有 PC,因为大多数用户都是通过简单的 Wyse 终端登录 Citrix 应用服务器的。由于他们的大多数文件活动都在网络共享上,因此用户(以及我们管理员)一直都知道没有“网络回收站”。
但是,大多数用户的隐藏 RECYCLER 文件夹包含数千个文件。有几件事很突出:
- 在大多数情况下,使用回收站界面看不到任何文件
- 这命名约定单个文件的 应该包含驱动器号,例如
DC
或DD
,但它们都以D@
- 开头,例如[email protected]
。 - 我相信该
@
符号阻止了 Windows 取消引用原始文件,因此它们在用户界面中被抑制。 - 这些文件总共占用了数十 GB。它们不是幽灵。删除一些文件确实会增加驱动器上的可用空间。
- 看来我们确实有一个“网络回收站”。纯属偶然。没有真正的文件名。
我们已经决定删除所有超过X
几天的文件。我可以用 PowerShell 脚本来做到这一点。不像类似案例,我们将删除单个文件而不是整个文件夹。
所以,我的问题是:
- 有人
@
在回收站文件中看到过这些符号吗? - 所有网络驱动器访问均通过映射驱动器进行。这可以解释为什么文件被回收?并被隐藏吗?
- 尽管我们每天都会备份,但我只想利用此资源进行最后的文件恢复。有什么建议或警告吗?
答案1
您看到的是重定向的“我的文档”文件夹的回收站。
文章中很好地描述了这个问题 我的文档文件夹重定向/回收站:
当使用文件夹重定向功能重定向用户的“我的文档”文件夹时,从用户的“我的文档”文件夹中删除的项目将存储在用户的“我的文档”文件夹(位于服务器上)的回收站中。遗憾的是,回收站的最大大小取决于“我的文档”文件夹重定向到的驱动器的大小。默认大小为 10%。使用策略制定者注册表客户端和组策略,我已推送必要的设置,以使“我的文档”文件夹的回收站的最大大小为 1%。
问题是 1% 仍然太大了。用于存储重定向的“我的文档”的驱动器目前有 500GB。其中 1% 是 5GB,再加上大约 2000 名用户,很明显,多年来我们可能会存储大量不必要的文件。教导或指导 2000 名用户定期清除他们的“我的文档”文件夹根本不可能。
文章文件夹重定向和回收站说:
如果您重定向“我的文档”,回收站可能会成为一个问题(浪费大量昂贵的服务器磁盘空间)。
您可以使用此注册表项控制回收站行为:
HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\BitBucket
,NukeOnDelete=1
将禁用重定向文件夹的回收站的使用。
如果这些参数用于所有磁盘,则还有一个名为 的项目,UseGlobalSettings
其值为。通过该值,可以找到每个磁盘的回收站参数,这些参数是包含磁盘驱动器号的子项。1
0
然而,该文章提出了另一个问题:
这个 NukeOnDelete 键确实很棒。但是,我又遇到了另一个难题……重定向我的文档后,用户将有两个回收站 - 一个用于本地文件,另一个用于重定向文件。当用户浏览回收站时,它会自动加载重定向的我的文档,但我找不到如何访问本地回收站。我知道本地回收站是 C:\Recycler,但该目录始终显示为空。我知道在理想环境中,用户不应该有权从本地系统删除文件。必须有一种方法允许用户在重定向我的文档后访问本地回收站(除了禁用重定向和注销/登录)……
有关控制回收站大小的更多信息,请参阅上述文章:
- 这最大容量值位于
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\BitBucket\KnownFolder\<GUID>
- 在我们的环境中,我们仅将桌面和文档文件夹重定向到服务器。这些文件夹的 GUID 为(其他文件夹位于http://msdn.microsoft.com/en-us/library/bb882665.aspx):
- 台式机:B4BFCC3A-DB2C-424C-B029-7FE99A87C641
- 文档:FDD39AD0-238F-46AF-ADB4-6C85480369C7
- 例如,要将重定向的桌面文件夹设置为仅使用最多 200mb,请应用以下注册表值:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\BitBucket\KnownFolder\{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}\MaxCapacity=0xC8
(0xC8 为十六进制的 200)- 我使用组策略首选项将这些更改推送到我们的环境。
- 在我的测试中,这不会立即清除回收站中较大的项目。但是,当我在应用此注册表设置后删除新项目时,较旧的项目会立即从回收站中删除。
至于删除这些文件:这样做实际上会从用户的回收站中删除已删除的文档,因此可能不会有太大问题。但它可能会破坏指定不再存在的文件的回收站设置。删除所有这些文件后,最好立即清空通用回收站。
坦白说,重定向的“我的文档”似乎被微软彻底搞砸了。您必须小心谨慎地处理这些陷阱。
答案2
什么鬼?有人在回收站文件中看到过这些 @ 符号吗?
是的,我记得以前在 Windows 环境中就见过这种情况。无论是在家里、单用户环境和 Windows 客户端操作系统中,还是在工作/学校中在多用户环境中的 Windows 服务器操作系统中,都有许多用户。
所有网络驱动器访问均通过映射驱动器进行。这可以解释为什么文件被回收?并被隐藏吗?
不。 您所看到的是回收站工作方式的功能。
删除文件时,完整路径和文件名将存储在 Recycled 文件夹中名为 Info 或 Info2 (Windows 98) 的隐藏文件中。已删除的文件将使用以下语法重命名:
D<original drive letter of file><#>.<original extension>
至于“解释”为什么 Windows 回收站会出现这种情况,我从未见过比“耸肩...腐败。”链接文章中的摘要告诉您流程的哪个部分出了问题,但没有深入挖掘您需要的有关流程的细节,以便您正确解释到底哪里出了问题。据推测,如果他们这样做了,现在应该有人已经解决了这个问题。
尽管我们每天都会备份,但我计划利用此资源进行最后的文件恢复。有什么建议或警告吗?
不,删除。文件无法恢复到其原始名称(因为它们不再位于回收站内容的 INFO 文件清单中),并且用户无法看到它们/不知道它们还在那里,所以这只是浪费空间。