Automatisieren Sie die Dateiverschlüsselung in Windows mit diesem Powershell-Skript

Dateiverschlüsselung und Dateientschlüsselung können ein wenig Arbeit sein. Mit einer PowerShell-Erweiterung können Sie den Prozess jedoch auf einen einzeiligen Befehl reduzieren.

Dateiverschlüsselung und Dateientschlüsselung können ein wenig Arbeit sein.  Mit einer PowerShell-Erweiterung können Sie den Prozess jedoch auf einen einzeiligen Befehl reduzieren.
Werbung

Dateiverschlüsselung und Dateientschlüsselung können ein wenig Arbeit sein. Glauben Sie nicht diesen 5 Mythen über Verschlüsselung! Glauben Sie nicht diese 5 Mythen über Verschlüsselung! Verschlüsselung klingt komplex, ist aber viel einfacher als die meisten denken. Nichtsdestotrotz könnte es sein, dass Sie sich ein wenig zu dunkel fühlen, um sich der Verschlüsselung zu bedienen, also lassen Sie uns einige Verschlüsselungsmythen überwinden! Weiterlesen . Mit einer PowerShell-Erweiterung können Sie den Prozess jedoch auf einen einzeiligen Befehl reduzieren. Um dies zu tun, müssen wir Gpg4win und ein Powershell-Modul installieren. Mithilfe von Skripts können wir den Dateiverschlüsselungs- und Entschlüsselungsprozess automatisieren.

Werfen wir einen Blick darauf, wie Dateien in Windows 10 automatisch mit einem Skript verschlüsselt werden.

Die Voraussetzungen: Installiert, Module und Zertifikate

Bevor Sie beginnen, sollten Sie die GPG4Win-Tools installieren und konfigurieren. Gehe zur Projektseite und lade die neueste Version herunter. (Wenn Sie eine Anleitung zum Installieren und Konfigurieren des Tools benötigen, verwenden Sie diese PDF-Anleitung.) Sie werden in diesem Modul die symmetrische Verschlüsselungsfunktion von GPG4Win verwenden.

Dieses Powershell-Modul behandelt die Dateiverschlüsselung mithilfe einer Passphrase statt eines Schlüsselpaars. Wie funktioniert die Verschlüsselung und ist sie wirklich sicher? Wie funktioniert die Verschlüsselung und ist sie wirklich sicher? Weiterlesen . Die Stärke Ihrer Verschlüsselung hängt von der Stärke Ihrer Passphrase ab. Sie sollten sicherstellen, etwas Komplexes zu wählen. Generieren Sie es mit LastPass oder einem anderen Passwort-Manager Master Ihre Passwörter mit der Sicherheit von Lastpass Challenge Meistern Sie Ihre Passwörter mit der Sicherheit von Lastpass Herausforderung Wir verbringen so viel Zeit online mit so vielen Konten, dass die Erinnerung an Passwörter wirklich schwierig sein kann. Besorgt über die Risiken? Erfahren Sie, wie Sie mit LastPass 'Security Challenge Ihre Sicherheitssicherheit verbessern können. Weiterlesen . Beenden Sie die Installation und fahren Sie mit dem Powershell-Modul fort.

Automatisieren Sie Windows PowerShell für die Dateiverschlüsselung

Powershell-Module sind eine Sammlung von Funktionen. Sie verwenden das PSM1-Dateiformat. Sie speichern diese Dateien im Modulverzeichnis Ihres Profils. Fügen Sie dann das Modul zu Ihrer Sitzung / Ihrem Skript hinzu, indem Sie Import-Module verwenden .

Alle Cmdlets des Moduls sind verfügbar. Wenn Sie Ihre Powershell-Fähigkeiten erweitern, können Sie sogar eigene Module erstellen. Um das Dateiverschlüsselungsmodul zu installieren, laden Sie es von TechNet herunter.

Als nächstes müssen Sie es in eines der Module-Verzeichnisse kopieren. Wenn Sie es nur für sich selbst installieren möchten, kopieren Sie es in die PowershellModule in Ihrem Benutzerordner. Kopieren Sie das in den Explorer für eine Verknüpfung:

%UserProfile%\Documents\WindowsPowerShell\Modules 

Wenn Sie das Modul für alle Benutzer installieren möchten, verwenden Sie den Ordner Programme \ Windows PowerShell \ Modules . Fügen Sie diese in Explorer für eine Verknüpfung ein:

 %ProgramFiles%\Windows PowerShell\Modules 

Erstellen Sie einen neuen Ordner namens GNUPG im Modules-Verzeichnis, und fügen Sie die PSM1-Datei ein.

Automatisieren Sie Windows PowerShell für die Dateiverschlüsselung

Sie müssen das Modul jedes Mal importieren mit: Import-Module GnuPG . Möglicherweise müssen Sie Ihre Ausführungsrichtlinie jedoch auf Uneingeschränkt anpassen. Führen Sie dazu das Cmdlet Set-ExecutionPolicy RemoteSigned aus .

Automatisieren Sie Windows PowerShell für die Dateiverschlüsselung

Da Sie dieses Modul heruntergeladen haben, müssen Sie es weiterhin als lokale Datei markieren. Klicken Sie mit der rechten Maustaste auf die Datei und wählen Sie Eigenschaften . Klicken Sie anschließend im Dialogfeld auf Entsperren . Bestätigen Sie Ihre Aktion im UAC-Dialog und Sie können das Modul verwenden.

Mit den Cmdlets arbeiten

Überspringen Sie das erste Cmdlet, das zur Installation von GPG4Win verwendet wird PGP Me: Pretty Good Privacy Explained PGP Ich: Pretty Good Privacy Explained Pretty Good Privacy ist eine Methode zum Verschlüsseln von Nachrichten zwischen zwei Personen. So funktioniert es und ob es einer genauen Prüfung standhält. Weiterlesen . Sie sollten diesen Schritt bereits abgeschlossen haben. Wenn nicht, können Sie dieses Cmdlet zum Installieren und Konfigurieren des Programms verwenden. Das Cmdlet lädt es in einen von Ihnen ausgewählten Ordner herunter und führt das Installationsprogramm aus. Die anderen beiden sind komplementär: Add-Encryption und Remove-Encryption . Beide nehmen drei Parameter.

Automatisieren Sie Windows PowerShell für die Dateiverschlüsselung

Der erste ist ein Verzeichnis, übergeben als -FolderPath . Das Modul durchläuft alle Dateien in einem Verzeichnis, um die Dateiverschlüsselung anzuwenden oder zu entfernen. Sie möchten nicht auf den Ordner Dokumente zeigen. Sie möchten einige Unterordner zum Arbeiten mit diesem Skript erstellen. Wenn Sie sich den Quellcode für das Modul ansehen, wird mit Get-ChildItem alles im Verzeichnis abgerufen . Die Entschlüsselungsfunktion beschränkt die Suche auf Dateien, die auf .GPG enden.

Automatisieren Sie Windows PowerShell für die Dateiverschlüsselung

Der nächste Parameter ist die Passphrase, die für die Dateiverschlüsselung verwendet wird: -Password . Stellen Sie sicher, dass dies komplex ist, da es der Schutz für Ihre Datei ist. Die Funktion durchläuft jede der Dateien mit einer ForEach-Schleife. Die Datei und die Passphrase werden als Argumente in Start-Process für GPG4Win kombiniert.

Der letzte Parameter -GPGPath ist nicht obligatorisch. Es ist auf den Standard-Installationsort für GPG4Win eingestellt. Wenn Sie es auf einem anderen Laufwerk haben, können Sie es mit diesem Parameter aktualisieren. Es ändert das Ziel für den Start-Prozess .

Schreiben des Skripts

Jetzt ist es Zeit, den Prozess zu automatisieren. Dieses Skript verschlüsselt die Dateien in einem Verzeichnis. Verschieben Sie die entschlüsselten Dateien in ein neues Verzeichnis. Das Skript löscht die ursprüngliche Datei.

Sie starten Ihr Skript mit etwas Vorbereitung. Importieren Sie zunächst das Modul mit Import-Module GnuPG . Sie müssen einige Variablen einrichten. Die erste Variable $ EncryptionTarget ist Ihr Zielordner. (In diesem Beispiel verweist eine Umgebungsvariable auf den Dokumentordner des aktuellen Benutzers.) Legen Sie die zweite Variable als Passphrase fest. Dieser Schritt erleichtert das spätere Ändern.

 Import-Module GnuPG $EncryptionTarget = "$($env:USERPROFILE)\Documents\Files-ToEncrypt" $Passphrase = "MakeAVeryLongSecurePhrase" Add-Encryption $EncryptionTarget -Password $Passphrase Start-Sleep -Seconds 60 $EcnryptedFiles = Get-ChildItem $EncryptionTarget | Where-Object $_.Name -like "*.gpg" foreach ($gpg in $EcnryptedFiles){ Move-Item -Path $gpg.FullName -Destination "$($env:USERPROFILE)\Documents\$($gpg.Name)" } $UnEncryptedFiles = Get-ChildItem $EncryptionTarget | Where-Object $_.Name -notlike "*.gpg" foreach ($nongpg in $UnEcnryptedFiles){ Remove-Item -Path $nongpg.FullName -Confirm $false } 

Diese Variablen gehen als Parameter zu Add-Encryption . Sie verwenden einen Start-Ruhezustand, um die Dateiverschlüsselungszeit zu vervollständigen. Das Beispiel verwendet drei Minuten. Sie können es basierend auf der Größe und Anzahl der Dateien ändern, mit denen Sie arbeiten.

Sie erhalten die .GPG-Dateien, indem Sie Get-ChildItem mit Where-Object kombinieren. Mit einer ForEach- Schleife wird jede dieser Dateien in ein neues Verzeichnis kopiert. Wir wiederholen diese Schritte, aber schalten die - wie für - nicht ähnlich. Eine zweite ForEach- Schleife bereinigt die Originaldateien.

Festlegen der wiederkehrenden Aufgabe

Sie haben das Skript, jetzt müssen Sie eine geplante Aufgabe erstellen. Programme automatisch ausführen Windows Taskplaner verwenden Programme automatisch ausführen Windows Taskplaner verwenden Weitere Informationen. Öffnen Sie den Taskplaner und klicken Sie auf Aufgabe erstellen .

Automatisieren Sie Windows PowerShell für die Dateiverschlüsselung

Benennen Sie es wie AutoEncrypt . Wenn Sie nur möchten, dass die Aufgabe ausgeführt wird, wenn Sie angemeldet sind, behalten Sie die Standardeinstellung bei. Wenn Sie es unabhängig voneinander einrichten, kann es nur auf lokale Verzeichnisse zugreifen. Wenn sich Ihr Ziel jedoch auf einem Remotecomputer befindet, müssen Sie Ihr Kennwort für die Ausführung des Jobs speichern. Sie können ein sekundäres Konto einrichten So erstellen Sie eingeschränkte Gastkonten in Windows 10 auf einfache Weise So erstellen Sie eingeschränkte Gastkonten in Windows 10 auf einfache Weise Windows 10 entfernt das Gastkonto, aber Sie können Ihre eigenen in nur wenigen Protokoll. Auf diese Weise können Sie Ihren Computer nutzen, ohne auf Ihre Daten zugreifen zu müssen. Lesen Sie mehr, um die Sicherheit Ihres Hauptkontos zu schützen.

Automatisieren Sie Windows PowerShell für die Dateiverschlüsselung

Klicken Sie auf die Registerkarte Auslöser, und legen Sie die Bedingungen fest. Als nächstes klicken Sie auf Neu, um das Planungsfenster aufzurufen. Sie können die Triggereinstellungen auf dem Standardwert belassen. Aktivieren Sie das Kontrollkästchen neben "Alle Aufgaben wiederholen" und legen Sie 5 Minuten fest . Sie können wählen, diese weniger häufig auszuführen, wenn Ihr Bedarf nicht dringend ist. Im Drop-down neben für die Dauer von: Wählen Sie Unbegrenzt . Klicken Sie auf OK, um zum Fenster Aufgabe erstellen zurückzukehren.

Automatisieren Sie Windows PowerShell für die Dateiverschlüsselung

Klicken Sie auf der Registerkarte Aktionen auf Neu . Fügen Sie im Popup den Pfad zu Powershell in das Feld Programm ein:

 %SystemRoot%/system32/Windows PowerShell/v1.0/powershell.exe 

Im Feld Argumente geben Sie ./ und den Pfad zu Ihrem Skript ein. Klicken Sie zweimal auf OK, und Ihr Skript wird als geplante Aufgabe ausgeführt.

Einige Sicherheitsbedenken und andere Ideen

Beachten Sie, dass Sie über den Passcode verfügen, um die Dateien auf demselben Computer zu entschlüsseln, auf dem Sie sie speichern. Diese Arten von Dateiverschlüsselungen dienen eher zum Verschlüsseln einer Datei vor dem Senden oder zum Speichern auf einem anderen Computer. (Wenn Sie ein gesperrtes Dateisystem haben möchten, verwenden Sie Full Disk Encryption TrueCrypt ist tot: 4 Festplattenverschlüsselung Alternativen für Windows TrueCrypt ist tot: 4 Festplattenverschlüsselung Alternativen Für Windows TrueCrypt gibt es nicht mehr, aber zum Glück gibt es andere nützliche Verschlüsselungsprogramme möglicherweise nicht genau Ersatz, sie sollten Ihren Bedürfnissen entsprechen Lesen Sie mehr.) Sie können eine ähnliche Aufgabe einrichten, um das gleiche mit der Entschlüsselung zu tun.

Haben Sie ein Projekt, das ein schnelles und schmutziges Dateiverschlüsselungsskript benötigt? Lassen Sie es uns in den Kommentaren wissen.

In this article