Среда: Windows 7, но применяется к другим EFS-совместимым версиям Windows
У меня есть файл, который зашифрован с использованием стандартного шифрования Windows EFS. Когда я копирую этот файл на USB-накопитель с помощью Total Commander или Explorer, файл остается зашифрованным в месте назначения.
Такой зашифрованный файл недоступен на любом другом ПК с Windows, к которому подключен мой USB-накопитель. Я мог импортировать свои персональные сертификаты на этот ПК, но это последнее, что я хотел бы сделать.
Я хотел бы, чтобы процесс копирования автоматически расшифровывал мой файл, когда файл копируется на съемный диск. Есть ли способ сказать Windows, чтобы сделать это?
Грубым способом дешифрования файла на лету было бы переключиться на FAT в качестве файловой системы на моем USB-накопителе, но я тоже не хочу этого делать.
Заранее спасибо за любые подсказки!
источник
Ответы:
источник
Возможно, с командным файлом вы могли бы сделать что-то вроде этого:
решение 1
Создайте
mycopy.cmd
файл (в вашемPATH
или в вашем «каталоге профиля пользователя») с двумя строками:С помощью клавиш Windows+ Rоткройте диалоговое окно выполнения типа:
Решение 2
Если целевой каталог всегда один и тот же, вы можете упростить
mycopy.cmd
файл, как этотПоместив файл в каталог SendTo (
%userprofile%\AppData\Roaming\Microsoft\Windows\SendTo
), вы получите новую опцию mycopy.cmd, если щелкнуть файл правой кнопкой мыши (в подменю «Отправить в»).источник
CIPHER /D
может занять много времени. Особенно для больших файлов, таких как 1,5 Гб фильм. Особенно на USB-накопителеПри копировании зашифрованного файла в место назначения, которое поддерживает EFS, Windows всегда будет переносить флаг шифрования, то есть шифровать скопированный файл (источник: Win API ). При создании нового файла Windows будет использовать настройку шифрования папки, чтобы определить, следует ли шифровать файл.
Попробуйте следующее:
Это должно делать свое дело.
Другой вариант - скопировать данные во временное местоположение, которое не поддерживает шифрование (например, том FAT), а затем переместить их в место назначения.
В любом случае процесс может быть длительным, но единственный способ расшифровать файл на лету во время копирования - это кодировать собственную утилиту копирования, обходя
CopyFile()
вызов API, но вместо этого читая исходный файл и создавая идентичный файл в месте назначения.источник
Дополнение к ответу от CmPi :
Если вы уже скопировали свою папку (например
RootFolder
) и она зашифрована, вы можете рекурсивно расшифровать все файлы и подпапки с помощью параметра / s:Обратите внимание, что вы можете сделать это с любого компьютера, если вы экспортировали сертификат и ключ, использованный для шифрования файлов, и импортировали их с другого компьютера. Проверьте эту ссылку для получения информации о том, как передавать сертификаты EFS: http://windows.microsoft.com/en-us/windows-vista/share-encrypted-files
источник
То, что сработало для меня лучше всего, используя командную строку Windows, ниже (и ссылка, где это описано). Мне пришлось использовать это, потому что у меня была сложная структура папок и много файлов в глубине иерархии, которые были зашифрованы, поэтому было невозможно осуществить это по одному вручную.
Шифрование / дешифрование папок (рекурсивно в Windows) https://www.windows-commandline.com/cipher-command-line-encryption-utility/
Шифровать рекурсивно
Расшифровать рекурсивно
источник
Чтобы расшифровать файл при его копировании на USB-носитель, отключите шифрование на USB-носителе. Он по-прежнему может использовать NTFS (что, я полагаю, вы используете).
источник