Środowisko: Windows 7, ale dotyczy innych wersji Windows kompatybilnych z EFS
Mam plik, który jest zaszyfrowany przy użyciu standardowego szyfrowania Windows EFS. Kiedy kopiuję ten plik na dysk USB za pomocą Total Commander lub Explorer, plik pozostaje zaszyfrowany w miejscu docelowym.
Taki zaszyfrowany plik jest niedostępny na innym komputerze z systemem Windows, do którego podłączony jest mój dysk USB. Mogłem importować moje osobiste certyfikaty na ten komputer, ale to ostatnia rzecz, którą chciałbym zrobić.
Chciałbym, aby proces kopiowania automatycznie odszyfrował mój plik, gdy plik zostanie skopiowany na dysk wymienny. Czy istnieje sposób, aby powiedzieć to systemowi Windows?
Brutalną siłą do odszyfrowania pliku w locie byłoby przejście do FAT jako systemu plików na moim dysku USB, ale ja też tego nie chcę.
Z góry dziękuję za wszelkie wskazówki!
źródło
Odpowiedzi:
źródło
Być może z plikiem wsadowym możesz zrobić coś takiego:
rozwiązanie 1
Utwórz
mycopy.cmd
plik (w swoimPATH
lub w „katalogu profilu użytkownika”) z dwoma liniami:Za pomocą klawiszy Windows+ Rotwórz okno dialogowe wykonywania typu en:
rozwiązanie 2
Jeśli katalog docelowy jest zawsze taki sam, możesz uprościć plik
mycopy.cmd
pliku w ten sposóbUmieszczenie pliku w katalogu SendTo (
%userprofile%\AppData\Roaming\Microsoft\Windows\SendTo
) zapewni nową opcję mycopy.cmd, kiedy utworzysz odpowiedni plik na pliku (w menu podrzędnym send)źródło
CIPHER /D
może to zająć dużo czasu. Szczególnie w przypadku dużych plików, takich jak film o pojemności 1,5 GB. Zwłaszcza na dysku USBPodczas kopiowania zaszyfrowanego pliku do miejsca docelowego obsługującego EFS, Windows zawsze przenosi flagę szyfrowania, tj. Szyfruje skopiowany plik (źródło: Win API ). Podczas tworzenia nowego pliku system Windows użyje ustawienia szyfrowania folderu, aby ustalić, czy plik ma zostać zaszyfrowany.
Spróbuj wykonać następujące czynności:
To powinno wystarczyć.
Inną opcją jest skopiowanie danych do tymczasowej lokalizacji, która nie obsługuje szyfrowania (takiej jak wolumin FAT), a następnie przeniesienie ich do miejsca docelowego.
Tak czy inaczej proces może być długotrwały, ale jedynym sposobem na odszyfrowanie pliku w locie podczas kopiowania byłoby zakodowanie własnego narzędzia do kopiowania, ominięcie
CopyFile()
wywołania API, ale zamiast tego odczytanie pliku źródłowego i utworzenie identycznego pliku w miejscu docelowym.źródło
Dodatek do odpowiedzi z CmPi :
Jeśli już skopiowałeś swój folder (np.
RootFolder
) I jest on zaszyfrowany, możesz rekurencyjnie odszyfrować wszystkie pliki i podfoldery za pomocą opcji / s:Pamiętaj, że możesz to zrobić z dowolnego komputera, o ile wyeksportowałeś certyfikat i klucz użyty do szyfrowania plików i zaimportowałeś je z innego komputera. Sprawdź ten link, aby uzyskać informacje na temat przesyłania certyfikatów EFS: http://windows.microsoft.com/en-us/windows-vista/share-encrypted-files
źródło
To, co działało dla mnie najlepiej, używając wiersza polecenia systemu Windows, znajduje się poniżej (i link, w którym jest opisany). Musiałem tego użyć, ponieważ miałem złożoną strukturę folderów i wiele plików głęboko w hierarchii, które zostały zaszyfrowane, więc nie było możliwe zrobienie tego pojedynczo.
Szyfruj / odszyfruj foldery (rekurencyjnie w systemie Windows) https://www.windows-commandline.com/cipher-command-line-encryption-utility/
Szyfruj rekurencyjnie
Odszyfruj rekurencyjnie
źródło
Aby odszyfrować plik skopiowany na nośnik USB, wyłącz szyfrowanie na nośniku USB. Nadal może używać NTFS (to jest to, co zakładam, że używasz).
źródło