Шифроването и декриптирането на файлове може да бъде малко трудна работа. Въпреки това, като използвате PowerShell , можете да опростите този процес само до команда от един ред. За да направим това, трябва да инсталираме Gpg4win и Powershell модул. Използвайте скриптове за автоматизиране на процеса на криптиране и декриптиране. Тази статия ще ви покаже как автоматично да шифровате файлове в Windows 10 със скрипт.
Преди да започнат, потребителите трябва да инсталират и конфигурират инструментите GPG4Win . В този модул ще използвате функционалността за симетрична криптография на GPG4Win.
Този модул Powershell управлява криптиране на файлове с парола, а не с двойка ключове. Силата на криптирането зависи от силата на паролата . Потребителите трябва да избират сложни пароли, може би с помощта на инструмента LastPass или друг мениджър на пароли . Накрая завършете инсталацията и преминете към модула Powershell.

Модулите Powershell са пакетирани набори от функции, използващи файловия формат PSM1. Можете да запишете тези файлове в папката Modules във вашия профил, след което да добавите модула към вашата сесия/скрипт с помощта на Import-Module .
Всички модулни командлети са налични. Докато напредвате в уменията си за Powershell, можете дори да създавате свои собствени модули. За да инсталирате модула за шифроване на файлове, изтеглете модула от TechNet . След това трябва да го копирате в една от папките Modules. Ако искате да го инсталирате сами, копирайте го в PowershellModules във вашата потребителска директория. Копирайте реда по-долу в Explorer, за да създадете пряк път:
%UserProfile%\Documents\WindowsPowerShell\Modules
Ако искате да инсталирате модули за всички потребители, използвайте папката Program Files\Windows PowerShell\Modules . Поставете следния ред в Explorer, за да създадете пряк път:
%ProgramFiles%\Windows PowerShell\Modules
Създайте нова папка, наречена GNUPG, в папката Modules и поставете файла PSM1 там.

Трябва да импортирате модула всеки път, когато го използвате: Import-Module GnuPG . Въпреки това можете да настроите Изпълнение на Неограничено, като изпълните командата Set-ExecutionPolicy RemoteSigned .

Тъй като сте заредили този модул, трябва да го маркирате като локален файл. Щракнете с десния бутон върху файла и изберете Свойства . След това в диалоговия прозорец поставете отметка на Отблокиране . Потвърдете действието в диалоговия прозорец на UAC и сте готови да използвате модула.
Cmdlet команди
Пропуснете първата команда Cmdlet, използвана за инсталиране на GPG4Win. Ако не сте изпълнили тази стъпка, можете да използвате тази команда за инсталиране и конфигуриране на програмата. Командлетът го зарежда в директория по ваш избор и стартира инсталатора. Другите две кратки команди са допълнителни: Add-Encryption и Remove-Encryption . И двете имат три параметъра.

Първият параметър е папка: -FolderPath . Този модул ще премине през всеки файл в папка, за да шифрова или дешифрира файла. Ако не искате да го насочвате към папката Документи, трябва да създадете двойка подпапки, за да работите с този скрипт. Ако погледнете изходния код на модула, той използва Get-ChildItem, за да получи всичко в директорията. Функцията за дешифриране ограничава търсенето до файлове, завършващи на .GPG.

Следващият параметър е паролата, използвана за криптиране на файлове: -Password . Уверете се, че тази парола е сложна, тъй като защитава вашите файлове. Тази функция ще премине през всеки файл с цикъл ForEach. Файл и парола, комбинирани като аргументи в Start-Process за GPG4Win.
Последният параметър, -GPGPath, не е задължителен. Той е инсталиран като местоположение по подразбиране за GPG4Win. Ако го инсталирате на друго устройство, можете да го актуализирате, като използвате този параметър, за да промените целта за Start-Process .
Пишете сценарии
Сега е време да автоматизирате процеса. Този скрипт ще шифрова файлове в папка, ще премести декриптираните файлове в нова папка и ще изтрие оригиналния файл.
Първо импортирайте модула с помощта на mport-Module GnuPG . Трябва да настроите няколко променливи. Първата променлива $EncryptionTarget е целевата директория. (Например, променлива на средата се използва, за да посочи директорията с документи на текущия потребител). Задайте втората променлива като парола, тази стъпка прави промяната на паролата по-лесна.
Модул за импортиране GnuPG
$EncryptionTarget = "$($env:USERPROFILE)\Documents\Files-ToEncrypt"
$Passphrase = "MakeAVeryLongSecurePhrase"
Добавяне на шифроване $EncryptionTarget -Парола $Passphrase
Старт-Заспиване-Секунди 60
$EcnryptedFiles = Get-ChildItem $EncryptionTarget | Where-Object $_.Name -като "*.gpg"
foreach ($gpg в $EcnryptedFiles){
Move-Item -Path $gpg.FullName -Destination "$($env:USERPROFILE)\Documents\$($gpg.Name)"
}
$UnEncryptedFiles = Get-ChildItem $EncryptionTarget | Where-Object $_.Name -не като "*.gpg"
foreach ($nongpg в $UnEcnryptedFiles){
Remove-Item -Path $nongpg.FullName -Confirm $false
}
Тези променливи отиват в Add-Encryption като параметри. Потребителят използва Start-Sleep , за да зададе времето за завършване на криптирането на файла, например времето е три минути. Това време може да варира в зависимост от размера и броя на файловете, върху които се работи.
Получавате .GPG файл, като комбинирате Get-ChildItem с Where-Object . Използвайте цикъл ForEach , така че всеки файл да се копира в нова директория. Можете да повторите тези стъпки, но конвертирайте -like в -notlike, така че втори цикъл ForEach да изчисти оригиналните файлове.
Настройте cron задачи
Сега, след като имате скрипта, трябва да създадете планирана задача. Отворете Task Scheduler и щракнете върху Create Task .

Наречете го AutoEncrypt . Ако искате да изпълните задачата само когато сте влезли, оставете настройките по подразбиране. Ако е зададено да се изпълнява, независимо дали потребителят е влязъл или не, изберете „ Изпълни, независимо дали потребителят е влязъл или не “, той има достъп само до папки на компютъра. Ако обаче вашата дестинация е на отдалечен компютър, трябва да съхраните паролата. Освен това можете да настроите вторичен акаунт, за да защитите основния си акаунт.

Кликнете върху раздела Тригери и задайте условията. След това щракнете върху Нов , за да отворите прозореца за планиране. Можете да оставите настройките по подразбиране, след което щракнете върху квадратчето до Повторете задачата на всяка и го задайте на 5 минути . Можете да изберете повече време, ако нуждата ви не е спешна. В падащото меню до за продължителността на: изберете Неопределено , щракнете върху OK , за да се върнете към прозореца Създаване на задача.

В раздела Действия щракнете върху Ново , в изскачащия прозорец задайте пътя до Powershell в полето Програма :
%SystemRoot%/system32/Windows PowerShell/v1.0/powershell.exe
В полето за аргументи поставете ./ и пътя към скрипта. Щракнете върху OK два пъти и скриптът е настроен да се изпълнява като планирана задача.
Виж повече: