Назад | Перейти на главную страницу

Как запретить explorer.exe сохранять файлы открытыми

У меня есть сервер Windows 2003, резервное копирование этой машины выполняется с помощью ночного запланированного задания, которое копирует файлы и папки на портативный жесткий диск USB (зашифрованный с помощью TrueCrypt)

Каждую неделю переносной диск снимается с места и подключается другой диск (в настоящее время мы меняем между двумя переносными дисками).

Проблема в том, что каждую неделю, когда мы меняем диски, мы не можем отключить подключенный диск из-за того, что открыт какой-то случайный файл или папка, процесс, удерживающий файл открытым, всегда называется explorer.exe.

Если я закрою дескриптор с помощью ProcessExplorer, все будет работать - том будет отключен, а проводник продолжит нормально работать.

Я хочу знать, как запретить проводнику держать файл открытым, я подозреваю, что проблема связана с некоторым сторонним кодом, который загружается в проводник, но я не знаю, как его отследить.

Это рабочий сервер, поэтому установка инструментов отладки или выполнение каких-либо действий, переводящих сервер в автономный режим более чем на несколько минут, недопустимы.

Спасибо

РЕДАКТИРОВАТЬ: Спасибо, что предложили анлокер, но я хочу, прежде всего, предотвратить попадание в ситуацию с заблокированным файлом, это рабочий сервер, и я не хочу испортить процесс проводника.

Другое редактирование Вы хотите знать, почему я не хочу разблокировать инструменты, просто прочтите это http://technet.microsoft.com/en-us/magazine/2009.04.windowsconfidential.aspx

Измените фокус explorer.exe на папку другого раздела.

Использовать разблокировщик. Сначала разблокируйте корневой диск с помощью «Отправлено в -> разблокировать», после чего вы сможете легко его удалить. Это не сделает ваш сервер недоступным, и это очень маленькая утилита. Я отлично работаю с ним на Win 2003.

Иногда Служба индексирования Windows начинает работать с файловой системой и в процессе блокирует файлы.

это RemoveDrive инструмент поддерживает остановку службы на короткое время для извлечения USB-накопителя. У меня это сработало.

RemoveDrive DriveSpec: [-l][-h][-b][-i][-s][-w:nnnn]

DriveSpec: is the drive to remove, e.g. U: or \ for the current drive
[-L] loop until success
[-h] show open handles (admin rights required, exprimental, may freeze!)
[-w:nnnn]  wait nnnn milliseconds before close
[-s] self delete removedrive.exe
[-b] let Windows show the "Safe To Remove Hardware" balloon tip
[-i] stop Windows indexing service (CiSvc) for a moment 
     if required (admins)
[-d] show debug information

Общие примечания.

  • В приводные инструменты страница в целом является очень хорошим справочником по вопросам, связанным с USB
  • Служба индексирования Microsoft печально известна перегрузка процессора а в некоторых случаях также фрагментация файла подкачки. Возможно, вы захотите прочитать еще немного и рассмотреть возможность выборочной остановки его рекурсивно для определенных папок (щелчок правой кнопкой мыши, свойства, общие, дополнительные).
  • Sysinternals PageDefrag - хороший инструмент для проверки фрагментации файла подкачки и его дефрагментации (требуется перезагрузка)

Если вы подозреваете аддон проводника, попробуйте Shexview, который может перечислить и отключить их для вас. Однако вам нужно будет убить и перезапустить все процессы explorer.exe, чтобы он вступил в силу.

С другой стороны, на сервере вы можете просто отключить их все, так как кому нужен предварительный просмотр PDF в проводнике и подобные вещи на сервере?

Вы сначала размонтируете Truecrypt? Скорее всего, сам Truecrypt препятствует отключению. Это будет похоже на Explorer из-за того, как работает служба Truecrypt.