Пользовательские папки RECYCLER имеют тысячи скрытых файлов

11

У нас есть папка «Пользователи», которая является корнем всех пользовательских файлов и сетевых профилей.

Используя утилиту размера каталога (WinDirStat), я наткнулся на странную и тревожную проблему - тысячи файлов, эффективно скрытых в интерфейсе корзины Windows. В папке каждого пользователя есть папка RECYCLER My Documents, например:

\\server1\Users\smithj\smithj's Documents\RECYCLER\S-1-5-21-nnnnnn

Очень немногие из наших пользователей имеют ПК, так как большинство пользователей подключаются к серверу приложений Citrix с простого терминала Wyse. Поскольку большая часть их файловой активности находится на общих сетевых ресурсах, пользователи (и мы, администраторы) всегда понимали, что «сетевой корзины» не существует.

Тем не менее, скрытая папка RECYCLER для большинства пользователей содержит тысячи файлов. Несколько вещей выделяются:

  1. В большинстве случаев ни один из файлов не виден с помощью интерфейса корзины
  2. Соглашение об именах для отдельных файлов должно включать букву диска, например DCили DD, но вместо этого все они начинаются с D@- например D@1234.doc,.
  3. Я считаю, что этот @символ не позволяет разыменовать исходные файлы в Windows, поэтому они просто подавляются в пользовательском интерфейсе.
  4. Файлы вместе занимают десятки гигабайт. Они не призраки. Удаление некоторых файлов увеличивает свободное место на диске.
  5. Кажется, у нас действительно есть «Сетевая корзина». Случайно. Без реальных имен файлов.

Мы уже решили, что будем удалять все файлы старше Xдней. Я могу сделать это с помощью скрипта PowerShell. В отличие от этого аналогичного случая , мы собираемся удалить отдельные файлы вместо всей папки.

Итак, мои вопросы:

  • Кто-нибудь видел эти @символы в файлах корзины?
  • Весь доступ к сетевому диску осуществляется через подключенные диски. Может ли это объяснить, почему файлы перерабатываются? А скрытый?
  • Хотя мы выполняем ежедневное резервное копирование, я хочу использовать этот ресурс только для последнего восстановления файла. Есть предложения или предупреждения?
jswanson
источник
Не уверен, что вы все еще рядом, учитывая возраст этого вопроса, но перенаправляете ли вы Мои документы на сетевой путь?
Патрик Сеймур
Эти две статьи содержат инструкции о том, как создать сетевую корзину на подключенных сетевых дисках. Вы можете проверить, относится ли какой-либо из них к вашему делу: статья 1 и статья 2 .
harrymc

Ответы:

3

То, что вы видите, это корзина для перенаправленных папок «Мои документы».

Проблема хорошо описана в статье Перенаправление папки «Мои документы» :

При использовании перенаправления папок для перенаправления пользователей в папки «Мои документы» элементы, удаленные из папки «Мои документы» пользователя, хранятся в корзине в папке «Мои документы» пользователя [которая находится на сервере]. К сожалению, максимальный размер корзины зависит от размера диска, папка «Мои документы» также была перенаправлена. Размер по умолчанию составляет 10%. С помощью клиента реестра для создателя политик и групповой политики я выдвинул необходимые параметры, чтобы максимальный размер корзины для папки «Мои документы» составил 1%.

Проблема в том, что 1% по-прежнему велик. Диск, используемый для хранения перенаправленных «Мои документы», в настоящее время составляет 500 ГБ. 1% от этого составляет 5 ГБ, что составляет около 2000 пользователей, и очевидно, что на протяжении многих лет мы могли потенциально хранить много ненужных файлов. Обучать или инструктировать 2000 пользователей регулярно очищать папку «Мои документы» просто невозможно.

В статье « Перенаправление папки и корзина» говорится следующее:

Если вы перенаправляете «Мои документы», корзина может стать проблемой (тратя тонны дорогого дискового пространства сервера).

Вы можете контролировать поведение корзины Bin с этим ключом реестра: HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\BitBucket, NukeOnDelete=1будет отключить использование корзины для перенаправлены папок.

Существует еще один элемент с именем, UseGlobalSettingsкоторый имеет значение, 1 если эти параметры используются для всех дисков. Со значением 0параметры корзины для каждого диска находятся в виде подразделов, имеющих букву диска.

Однако в этой статье поднимается еще одна проблема:

Этот ключ NukeOnDelete действительно хорош. Однако я выдвигаю еще одну загадку ... После перенаправления «Мои документы» у пользователя появятся две корзины - одна для локальных файлов, другая для перенаправленных файлов. Когда пользователь просматривает корзину, он автоматически загружает перенаправленные «Мои документы», но я не могу узнать, как получить доступ к локальной корзине. Я понимаю, что локальной корзиной является C: \ Recycler, но каталог всегда отображается пустым. Я знаю, что в идеальной среде у пользователей не должно быть доступа к удалению файлов из локальной системы. Должен быть способ разрешить пользователю доступ к локальной корзине после перенаправления «Мои документы» (кроме отключения перенаправления и выхода из системы / входа в систему) ...

Больше информации из вышеупомянутой статьи об управлении размерами корзины:

  1. Значение MaxCapacity находится по адресуHKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\BitBucket\KnownFolder\<GUID>
  2. В нашей среде мы перенаправляем только папки «Рабочий стол» и «Документы» на сервер. GUID для них (остальные находятся по адресу http://msdn.microsoft.com/en-us/library/bb882665.aspx ):
    1. Рабочий стол: B4BFCC3A-DB2C-424C-B029-7FE99A87C641
    2. Документы: FDD39AD0-238F-46AF-ADB4-6C85480369C7
  3. Например, чтобы перенаправленная папка рабочего стола использовала только до 200 МБ, примените следующее значение реестра:
    HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\BitBucket\KnownFolder\{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}\MaxCapacity=0xC8 (0xC8 - это 200 в шестнадцатеричном формате)
  4. Я использовал настройки групповой политики, чтобы перенести эти изменения в нашу среду.
  5. В моем тестировании это не сразу очистило элементы в Корзине, которые были больше. Однако когда я удалил новый элемент после применения этого параметра реестра, старые элементы были немедленно удалены из корзины.

Что касается удаления этих файлов: Выполнение этого в действительности приведет к удалению удаленных документов из корзины пользователя, поэтому не может быть слишком большой проблемой. За исключением того, что он может убрать настройки корзины, указывая файлы, которые больше не существуют. Может быть лучше очистить общую корзину сразу после удаления всех этих файлов.

Честно говоря, перенаправленные «Мои документы», похоже, были по-королевски испорчены Microsoft. Тебе придется деликатно встать между делами.

harrymc
источник
Хорошая статья, но обратите внимание, что проблема скрытых файлов в Корзине может и будет существовать, даже если вы отключите настройку максимального размера для Корзины.
HopelessN00b
3

WTF? Кто-нибудь видел эти символы @ в файлах корзины?

Да, я видел это в среде Windows, насколько я помню. Как дома, в однопользовательских средах и клиентских ОС Windows, так и на работе / в школе в многопользовательских средах на серверных ОС Windows со многими пользователями.

Весь доступ к сетевому диску осуществляется через подключенные диски. Может ли это объяснить, почему файлы перерабатываются? А скрытый?

Нет. То, что вы видите, является функцией работы корзины .


При удалении файла полный путь и имя файла сохраняются в скрытом файле с именем Info или Info2 (Windows 98) в папке Recycled. Удаленный файл переименовывается с использованием следующего синтаксиса:

D<original drive letter of file><#>.<original extension> 

Что касается «объяснения», почему это происходит с корзиной Windows, я никогда не видел более авторитетного объяснения, чем « пожимание плечами ... коррупция». Резюме в связанной статье говорит вам, какая часть процесса идет не так, но не содержит подробностей о процессе, которые вам понадобятся, чтобы правильно объяснить, что на самом деле выходит из строя и где. Предположительно, если бы они имели, кто-то уже исправил бы эту проблему.

Хотя мы выполняем ежедневное резервное копирование, я планирую использовать этот ресурс для восстановления файлов в крайнем случае. Есть предложения или предупреждения?

Нет, ядерная бомба Файлы не могут быть восстановлены до их первоначальных имен (так как они больше не находятся в том манифесте INFO-файла содержимого корзины), и пользователи не могут их видеть / не знают, что они там больше, поэтому это просто пустое пространство.

HopelessN00b
источник
В цитируемой статье файлы есть #, а у постера - @. Кроме того, многое изменилось с момента выхода Windows 98, поэтому статья на самом деле не применима.
harrymc
@harrymc Я уверен. @Существует потому , что файл изначально «пришел из» общей сетевой папке или путь, а не диск с буквой. Таким образом, вместо того, DC[#].[whatever]чтобы исходить из Cдиска, вы получаете D@[#].[whatever]... потому что сетевой ресурс или UNC-путь не имеют "буквы диска" для перехода в эту позицию второго символа. (Так что @вместо буквы диска используется символ ... по любой причине.)
HopelessN00b
Он говорит, что доступ осуществляется через сопоставленные акции, поэтому у них есть буква диска. Я пытался продублировать его проблему, и я не могу справиться с этим, сопоставленный или нет: файлы просто удалены. Weird. Вы можете скопировать это? Смотрите в Википедии новое соглашение об именах, используя $, а не @или #.
harrymc
@harrymc Я не могу продублировать его по команде, но я управляю десятками файловых серверов с такими файлами в пути перенаправленного профиля пользователя. Сопоставленный диск - это не то же самое, что локально подключенный диск, поскольку сетевые сопоставления (и сопоставления букв дисков, поставляемые с ними) являются настройкой для каждого пользователя, а не общесистемной настройкой. Это означает, что когда система записывает исходное местоположение файла в манифест корзины, она использует фактический путь, например \\server1\Users\smithj\smithj's Documents\somefileпуть, который видит пользователь, например Y:\somefile.
HopelessN00b
Я провел еще несколько исследований по этой любопытной проблеме и нашел больше информации, которую я поместил в отдельный ответ.
harrymc