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 回クリックすると、スクリプトがスケジュールされたタスクとして実行されるように設定されます。

続きを見る:


Yahoo ツールバーと検索を完全に削除する方法。ヤフー。コム?

Yahoo ツールバーと検索を完全に削除する方法。ヤフー。コム?

Yahoo 検索は正規の検索エンジンです。ただし、ユーザーを検索にリダイレクトするブラウザ ハイジャッカーとも考えられます。ヤフー。コム。このブラウザ ハイジャッカーは、Web ブラウザのホームページと検索エンジンの設定をハイジャックして、以前に設定したホームページと検索エンジンの代わりに Yahoo 検索のホームページと検索エンジンを表示します。

Windows のタスクの終了機能について学習します。

Windows のタスクの終了機能について学習します。

タスクの終了は、Microsoft Windows タスク マネージャーの機能です。これは [アプリケーション] タブにあり、ユーザーは応答するプログラムまたは応答しないプログラムを閉じることができます。

Windows + V: 多くの Windows ユーザーが知らない便利なショートカット

Windows + V: 多くの Windows ユーザーが知らない便利なショートカット

他の多くのプラットフォームと同様に、Windows にも「クリップボード履歴」と呼ばれる特殊なクリップボード マネージャーがあります。

Windows 10 に macOS Big Sur/iOS 14 ウィジェットをインストールする方法

Windows 10 に macOS Big Sur/iOS 14 ウィジェットをインストールする方法

macOS Big Sur バージョンは、最近の WWDC カンファレンスで正式に発表されました。また、Rainmeter ツールを使用すると、macOS Big Sur のインターフェイスを Windows 10 に完全に持ち込むことができます。

RDStealer マルウェアからリモート デスクトップを保護する方法

RDStealer マルウェアからリモート デスクトップを保護する方法

RDStealer は、RDP サーバーに感染し、そのリモート接続を監視することで資格情報とデータを盗もうとするマルウェアです。

ファイルエクスプローラーに代わるWindows用の7つの最高のファイル管理ソフトウェア

ファイルエクスプローラーに代わるWindows用の7つの最高のファイル管理ソフトウェア

ファイル エクスプローラーに別れを告げ、サードパーティのファイル管理ソフトウェアを使用する時期が来たのかもしれません。ここでは、Windows ファイル エクスプローラーの代替となる 7 つの最良のツールを紹介します。

LoRaWAN はどのように機能しますか? IoT にとってなぜ重要なのでしょうか?

LoRaWAN はどのように機能しますか? IoT にとってなぜ重要なのでしょうか?

LoRaWAN (長距離ワイヤレス エリア ネットワーク) は、長距離にわたる低電力デバイス間の通信に役立ちます。

Windows 10 で詳細スタートアップ オプションを開く 8 つの方法

Windows 10 で詳細スタートアップ オプションを開く 8 つの方法

詳細スタートアップ オプションに移動すると、Windows 10 のリセット、Windows 10 の復元、以前に作成したイメージ ファイルからの Windows 10 の復元、起動エラーの修正、コマンド プロンプトを開いてオプションの実行、別のオプションの選択、UEFI 設定を開いて、スタートアップ設定の変更を行うことができます。 ..

ソーシャル ネットワーク アカウントでログインする前に慎重に検討する必要があるのはなぜですか?

ソーシャル ネットワーク アカウントでログインする前に慎重に検討する必要があるのはなぜですか?

新しいサービスにサインアップするたびに、ユーザー名とパスワードを選択するか、Facebook または Twitter でログインすることができます。しかし、それをすべきでしょうか?

Google DNS 8.8.8.8 および 8.8.4.4 の変更手順

Google DNS 8.8.8.8 および 8.8.4.4 の変更手順

DNS Google 8.8.8.8 8.8.4.4 は、特にネットワーク アクセスを高速化するため、またはブロックされた Facebook へのアクセスを目的として、多くのユーザーが使用することを選択する DNS の 1 つです。