Powershell を使用して Windows でファイルを自動的に暗号化する

Powershell を使用して Windows でファイルを自動的に暗号化する

ファイルの暗号化とファイルの復号化は、少し難しい作業になる場合があります。ただし、PowerShellを使用すると、このプロセスを 1 行のコマンドのみに簡素化できます。これを行うには、Gpg4win と Powershell モジュールをインストールする必要があります。スクリプトを使用して、暗号化と復号化のプロセスを自動化します。この記事では、Windows 10 でスクリプトを使用してファイルを自動的に暗号化する方法を紹介します。

開始する前に、ユーザーはGPG4Winツールをインストールして構成する必要があります。このモジュールでは GPG4Win の対称暗号化機能を使用します。

この Powershell モジュールは、キーペアではなくパスワードを使用してファイル暗号化を処理します。暗号化の強度はパスワードの強度によって異なります。ユーザーは、 LastPassツールまたは別のパスワード マネージャーを使用して、複雑なパスワードを選択する必要があります。最後に、インストールを完了し、Powershell モジュールに進みます。

Powershell を使用して Windows でファイルを自動的に暗号化する

Powershell モジュールは、PSM1 ファイル形式を使用してパッケージ化された関数のセットです。これらのファイルをプロファイルの Modules フォルダーに保存し、Import-Moduleを使用してモジュールをセッション/スクリプトに追加できます。

すべてのモジュールのコマンドレットが利用可能です。 Powershell のスキルを向上させると、独自のモジュールを作成することもできます。ファイル暗号化モジュールをインストールするには、TechNet からモジュールをダウンロードします。次に、それをモジュール フォルダーの 1 つにコピーする必要があります。自分でインストールする場合は、ユーザー ディレクトリの PowershellModules にコピーします。以下の行をエクスプローラーにコピーしてショートカットを作成します。

%UserProfile%\Documents\WindowsPowerShell\Modules

すべてのユーザーにモジュールをインストールする場合は、Program Files\Windows PowerShell\Modulesフォルダーを使用します。次の行をエクスプローラーに貼り付けて、ショートカットを作成します。

%ProgramFiles%\Windows PowerShell\Modules

Modules フォルダー内に GNUPG という新しいフォルダーを作成し、そこに PSM1 ファイルを貼り付けます。

Powershell を使用して Windows でファイルを自動的に暗号化する

モジュールを使用するたびに、Import-Module GnuPGをインポートする必要があります。ただし、 Set-ExecutionPolicy RemoteSignedコマンドレットを実行すると、実行を無制限に調整できます。

Powershell を使用して Windows でファイルを自動的に暗号化する

このモジュールをロードしたので、これをローカル ファイルとしてマークする必要があります。ファイルを右クリックし、「プロパティ」を選択します。次に、ダイアログ ボックスで[ブロックを解除]をオンにします。 [UAC] ダイアログ ボックスでアクションを確認すると、モジュールを使用するように設定されます。

コマンドレットコマンド

GPG4Win のインストールに使用される最初のコマンドレット コマンドをスキップします。この手順を完了していない場合は、このコマンドレットを使用してプログラムをインストールし、構成できます。コマンドレットは、選択したディレクトリにそれをロードし、インストーラーを実行します。他の 2 つのコマンドレット コマンド、Add-EncryptionおよびRemove-Encryption は追加ですどちらにも 3 つのパラメータがあります。

Powershell を使用して Windows でファイルを自動的に暗号化する

最初のパラメーターはフォルダーです: -FolderPath このモジュールは、フォルダー内の各ファイルを調べて、ファイルを暗号化または復号化します。ドキュメント フォルダーを指定したくない場合は、このスクリプトを使用するサブフォルダーのペアを作成する必要があります。モジュールのソース コードを見ると、Get-ChildItemを使用してディレクトリ内のすべてを取得しています。復号化機能は、検索を .GPG で終わるファイルに制限します。

Powershell を使用して Windows でファイルを自動的に暗号化する

次のパラメータは、ファイル暗号化に使用されるパスワードです: -Password。ファイルを保護するため、このパスワードは複雑なものにしてください。この関数は、ForEach ループを使用して各ファイルを処理します。GPG4Win のStart-Processで引数として結合されたファイルとパスワード。

最後のパラメータ-GPGPathはオプションです。 GPG4Win のデフォルトの場所としてインストールされます。別のドライブにインストールする場合は、このパラメーターを使用して更新し、 Start-Processのターゲットを変更できます。

スクリプトを書く

今度はプロセスを自動化します。このスクリプトは、フォルダー内のファイルを暗号化し、復号化されたファイルを新しいフォルダーに移動して、元のファイルを削除します。

まず、 mport-Module GnuPGを使用してモジュールをインポートします。いくつかの変数を設定する必要があります。最初の変数$EncryptionTargetはターゲット ディレクトリです。 (たとえば、環境変数は現在のユーザーのドキュメント ディレクトリを指すために使用されます)。 2 番目の変数をパスフレーズとして設定します。この手順により、パスワードの変更が簡単になります。

インポートモジュール GnuPG

$EncryptionTarget = "$($env:USERPROFILE)\Documents\Files-ToEncrypt"

$Passphrase = "MakeAVeryLongSecurePhrase"

Add-Encryption $EncryptionTarget -Password $Passphrase

開始 - スリープ - 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 - "*.gpg" とは異なります

foreach ($UnEcnryptedFiles の $nongpg){

Remove-Item -Path $nongpg.FullName -confirm $false

}

これらの変数はパラメータとしてAdd-Encryptionに送られます。ユーザーは、Start-Sleepを使用して、ファイル暗号化が完了するまでの時間を設定します (たとえば、時間を 3 分に設定します)。この時間は、作業中のファイルのサイズと数によって異なる場合があります。

Get-ChildItemWhere-Objectを組み合わせて .GPG ファイルを取得します。ForEachループを使用して、各ファイルを新しいディレクトリにコピーします。これらの手順を繰り返すこともできますが、 2 番目のForEachループで元のファイルがクリーンアップされるように、 -likeを -notlike に変換します。

cron ジョブをセットアップする

これでスクリプトが完成したので、スケジュールされたタスクを作成する必要があります。タスク スケジューラを開き、[タスクの作成]をクリックします。

Powershell を使用して Windows でファイルを自動的に暗号化する

AutoEncryptという名前を付けます。ログイン時にのみタスクを実行したい場合は、設定をデフォルトのままにしてください。ユーザーがログオンしているかどうかに関係なく実行するように設定されている場合、「ユーザーがログオンしているかどうかに関係なく実行する」を選択すると、コンピューター上のフォルダーにのみアクセスできます。ただし、宛先がリモート コンピュータ上の場合は、パスワードを保存する必要があります。さらに、メイン アカウントを保護するためにセカンダリ アカウントを設定することもできます。

Powershell を使用して Windows でファイルを自動的に暗号化する

「トリガー」タブをクリックし、条件を設定します。次に、「新規」をクリックしてスケジュールウィンドウを開きます。設定をデフォルトのままにし、「タスクを繰り返す間隔」の横のボックスをクリックして「5分」に設定します。緊急でない場合は、さらに時間を選択することもできます。期間の横にあるドロップダウン メニューで[無期限]を選択し、[OK]をクリックして[タスクの作成] ウィンドウに戻ります。

Powershell を使用して Windows でファイルを自動的に暗号化する

[アクション]タブで[新規]をクリックし、ポップアップ ウィンドウの[プログラム]ボックスで Powershell へのパスを設定します。

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

引数ボックスに、./とスクリプトへのパスを入力します。[OK]を 2 回クリックすると、スクリプトがスケジュールされたタスクとして実行されるように設定されます。

続きを見る:


Windows 10で欠落しているデフォルトの電源プランを復元する方法

Windows 10で欠落しているデフォルトの電源プランを復元する方法

このガイドでは、Windows 10でデフォルトの電源プラン(バランス、高パフォーマンス、省電力)を復元する方法を詳しく解説します。

Windows 10 で BlueStacks 5 の仮想化 (VT) を有効にする方法

Windows 10 で BlueStacks 5 の仮想化 (VT) を有効にする方法

仮想化を有効にするには、まず BIOS に移動し、BIOS 設定内から仮想化を有効にする必要があります。仮想化を使用することで、BlueStacks 5 のパフォーマンスが大幅に向上します。

WiFi接続に接続する際のドライバーの切断を修正

WiFi接続に接続する際のドライバーの切断を修正

WiFi 接続に接続するときにドライバーが切断されるエラーを修正する方法を解説します。

Windows での DIR コマンドの使用方法

Windows での DIR コマンドの使用方法

DIR コマンドは、特定のフォルダーに含まれるすべてのファイルとサブフォルダーを一覧表示する強力なコマンド プロンプト コマンドです。 Windows での DIR コマンドの使用方法を詳しく見てみましょう。

ソフトウェアを使わずに Windows 10 アプリをバックアップおよび復元する方法

ソフトウェアを使わずに Windows 10 アプリをバックアップおよび復元する方法

ソフトウェアなしで Windows 10 アプリをバックアップし、データを保護する方法を説明します。

Windows でローカル グループ ポリシー エディターを開くための 11 のヒント

Windows でローカル グループ ポリシー エディターを開くための 11 のヒント

Windows のローカル グループ ポリシー エディターを使用して、通知履歴の削除やアカウントロックの設定を行う方法を説明します。

最高の IP 監視ツール 10 選

最高の IP 監視ツール 10 選

重要なリソースを簡単に監視及び管理できる<strong>IP監視</strong>ソフトウェアがあります。これらのツールは、ネットワーク、インターフェイス、アプリケーションのトラフィックをシームレスに確認、分析、管理します。

AxCrypt ソフトウェアを使用してデータを暗号化する方法

AxCrypt ソフトウェアを使用してデータを暗号化する方法

AxCrypt は、データの暗号化に特化した優れたソフトウェアであり、特にデータ セキュリティに優れています。

Windows 10 Creators Updateのアップデート後にシステムフォントを変更する方法

Windows 10 Creators Updateのアップデート後にシステムフォントを変更する方法

システムフォントのサイズを変更する方法は、Windows 10のユーザーにとって非常に便利です。

Windows 10で機内モードをオフにできないエラーを修正する方法

Windows 10で機内モードをオフにできないエラーを修正する方法

最近、Windows 10にアップデートした後、機内モードをオフにできない問題について多くのユーザーから苦情が寄せられています。この記事では、Windows 10で機内モードをオフにできない問題を解決する方法を説明します。