Шифрування та дешифрування файлів може бути дещо складною роботою. Однак за допомогою PowerShell ви можете спростити цей процес до однорядкової команди. Для цього нам потрібно встановити Gpg4win і модуль Powershell. Використовуйте сценарії для автоматизації процесу шифрування та дешифрування. Ця стаття покаже вам, як автоматично шифрувати файли в Windows 10 за допомогою сценарію.
Перш ніж почати, користувачі повинні встановити та налаштувати інструменти GPG4Win . У цьому модулі ви використовуватимете функцію симетричної криптографії GPG4Win.
Цей модуль Powershell обробляє шифрування файлів за допомогою пароля, а не пари ключів. Надійність шифрування залежить від надійності пароля . Користувачі повинні вибрати складні паролі, можливо, використовуючи інструмент LastPass або інший менеджер паролів . Нарешті завершіть встановлення та перейдіть до модуля Powershell.

Модулі Powershell — це упаковані набори функцій із використанням формату файлу PSM1. Ви можете зберегти ці файли в папці Modules у своєму профілі, а потім додати модуль до свого сеансу/сценарію за допомогою Import-Module .
Усі командлети модуля доступні. Розвиваючи свої навички роботи з Powershell, ви навіть можете створювати власні модулі. Щоб установити модуль шифрування файлів, завантажте його з TechNet . Далі вам потрібно скопіювати його в одну з папок Modules. Якщо ви хочете встановити його самостійно, скопіюйте його в PowershellModules у своєму каталозі користувача. Скопіюйте наведений нижче рядок у Провідник, щоб створити ярлик:
%UserProfile%\Documents\WindowsPowerShell\Modules
Якщо ви хочете інсталювати модулі для всіх користувачів, використовуйте папку Program Files\Windows PowerShell\Modules . Вставте такий ря��ок у Провідник, щоб створити ярлик:
%ProgramFiles%\Windows PowerShell\Modules
Створіть нову папку під назвою GNUPG у папці Modules і вставте туди файл PSM1.

Вам потрібно імпортувати модуль кожного разу, коли ви його використовуєте: Import-Module GnuPG . Однак ви можете змінити параметр «Виконання» на «Необмежене», запустивши командлет Set-ExecutionPolicy RemoteSigned .

Оскільки ви завантажили цей модуль, вам потрібно позначити його як локальний файл. Клацніть файл правою кнопкою миші та виберіть «Властивості» . Далі в діалоговому вікні поставте прапорець Розблокувати . Підтвердьте дію в діалоговому вікні UAC, і ви налаштовані на використання модуля.
Команди командлета
Пропустіть першу команду 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"
Add-Encryption $EncryptionTarget -Пароль $Passphrase
Start-Sleep -Seconds 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 -not like "*.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
Тепер, коли у вас є сценарій, вам потрібно створити заплановане завдання. Відкрийте планувальник завдань і натисніть «Створити завдання» .

Назвіть це AutoEncrypt . Якщо ви хочете запустити завдання лише після входу в систему, залиште налаштування за замовчуванням. Якщо налаштовано на запуск незалежно від того, увійшов користувач чи ні, виберіть « Запускати незалежно від того, увійшов користувач чи ні », він матиме доступ лише до папок на комп’ютері. Однак, якщо ваш пункт призначення знаходиться на віддаленому комп’ютері, вам потрібно зберегти пароль. Крім того, ви можете налаштувати додатковий обліковий запис, щоб захистити свій основний обліковий запис.

Перейдіть на вкладку Тригери та встановіть умови. Далі натисніть «Новий» , щоб відкрити вікно планування. Ви можете залишити параметри за замовчуванням, а потім клацнути на полі поруч із «Повторити завдання кожні» та встановити значення 5 хвилин . Ви можете вибрати більше часу, якщо ваша потреба не є терміновою. У спадному меню поруч із тривалістю: виберіть Невизначено , натисніть OK , щоб повернутися до вікна «Створити завдання».

На вкладці Дії клацніть Створити , у спливаючому вікні встановіть шлях до Powershell у вікні Програма :
%SystemRoot%/system32/Windows PowerShell/v1.0/powershell.exe
У поле аргументів введіть ./ і шлях до сценарію. Двічі клацніть OK , і сценарій буде налаштовано на запуск як заплановане завдання.
Побачити більше: