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/11 のパフォーマンスを最適化する方法

究極のパフォーマンスを有効にして Windows 10/11 のパフォーマンスを最適化する方法

Microsoft は、2018 年 4 月に Windows 10 Update に Ultimate Performance と呼ばれる機能を追加しました。これは、システムを高パフォーマンス動作モードに切り替えるのに役立つ機能であることがわかります。

Windows 10 Sun Valley のような新しいファイル エクスプローラー アイコン セットをインストールする方法

Windows 10 Sun Valley のような新しいファイル エクスプローラー アイコン セットをインストールする方法

Windows 10 Sun Valley のようなファイル エクスプローラーの新しいアイコンが気に入った場合は、以下の記事に従ってファイル エクスプローラーのまったく新しいインターフェイスを変更してください。

Windows 10 Webカメラをテストする方法

Windows 10 Webカメラをテストする方法

Web カメラが Windows コンピューターで適切に動作するかどうかを確認するのは、迅速かつ簡単です。以下は、カメラを確認するための手順です。

Windows 10 でマイクをテストする方法

Windows 10 でマイクをテストする方法

おそらく高品質のヘッドフォンが接続されているのに、何らかの理由で Wi​​ndows ラップトップがひどい内蔵マイクを使用して録音しようとし続けます。次の記事では、Windows 10 マイクをテストする方法について説明します。

右クリックメニューから「Malwarebytesでスキャン」を削除する方法

右クリックメニューから「Malwarebytesでスキャン」を削除する方法

不要になった場合は、右クリックのコンテキスト メニューから [Malwarebytes でスキャン] オプションを削除できます。その方法は次のとおりです。

ボーダー ゲートウェイ プロトコル (BGP) について学ぶ

ボーダー ゲートウェイ プロトコル (BGP) について学ぶ

ボーダー ゲートウェイ プロトコル (BGP) は、インターネットのルーティング情報を交換するために使用され、ISP (異なる AS) 間で使用されるプロトコルです。

独自の Windows レジストリ ハック ファイルを作成する方法

独自の Windows レジストリ ハック ファイルを作成する方法

ヒントを読んでいると、レジストリ ハック ファイルを使用して Windows コンピュータをカスタマイズしたり微調整したりする人がよく見かけますが、その作成方法を疑問に思っています。この記事では、独自のレジストリ ハック ファイルを作成する基本的な手順を説明します。

Windows 10で自動レジストリバックアップを有効にする方法

Windows 10で自動レジストリバックアップを有効にする方法

Microsoft は以前はレジストリを自動的にバックアップしていましたが、この機能は Windows 10 では密かに無効になっています。この記事では、Quantrimang.com がレジストリをフォルダーに自動的にバックアップする手順を説明します。 RegBack (Windows\System32\config \RegBack) Windows 10 では。

Windows PCでアクションを元に戻す方法

Windows PCでアクションを元に戻す方法

コンピューターを使用していると、間違いを犯すのはごく普通のことです。

Windows 10/11 でイーサネット接続が切断され続ける場合はどうすればよいですか?

Windows 10/11 でイーサネット接続が切断され続ける場合はどうすればよいですか?

Windows 10 または 11 PC では、イーサネット接続が理由もなく切断されてイライラすることがあります。