使用 Powershell 自動加密 Windows 中的文件

使用 Powershell 自動加密 Windows 中的文件

加密檔案和解密檔案可能是一項有點困難的工作。但是,透過使用PowerShell,您可以將此過程簡化為一行命令。為此,我們需要安裝 Gpg4win 和 Powershell 模組。使用腳本自動執行加密和解密過程。本文將向您展示如何使用腳本在 Windows 10 中自動加密檔案。

在開始之前,用戶需要安裝並設定GPG4Win工具。您將在本模組中使用 GPG4Win 的對稱加密功能。

此 Powershell 模組使用密碼而不是金鑰對處理文件加密。加密的強度取決於密碼的強度。使用者應該選擇複雜的密碼,也許可以使用LastPass工具或其他密碼管理器。最後,完成安裝並轉到 Powershell 模組。

使用 Powershell 自動加密 Windows 中的文件

Powershell 模組是打包的函數集,使用 PSM1 檔案格式。您可以將這些檔案儲存在您的設定檔中的 Modules 資料夾中,然後使用Import-Module將模組新增到您的會話/腳本中。

所有模組 cmdlet 均可用。隨著您提高 Powershell 技能,您甚至可以建立自己的模組。若要安裝檔案加密模組,請從 TechNet 下載該模組。接下來,您需要將其複製到 Modules 資料夾之一。如果您想自行安裝,請將其複製到您的使用者目錄中的 PowershellModules 中。將以下行複製到資源管理器中以建立捷徑:

%UserProfile%\Documents\WindowsPowerShell\Modules

如果您想要為所有使用者安裝模組,請使用Program Files\Windows PowerShell\Modules資料夾。將以下行貼上到資源管理器中以建立捷徑:

%ProgramFiles%\Windows PowerShell\模組

在 Modules 資料夾中建立一個名為 GNUPG 的新資料夾,並將 PSM1 檔案貼到其中。

使用 Powershell 自動加密 Windows 中的文件

每次使用時都需要匯入該模組:Import-Module GnuPG。但是,您可以透過執行Set-ExecutionPolicy RemoteSigned cmdlet將執行調整為無限。

使用 Powershell 自動加密 Windows 中的文件

由於您已載入此模組,因此需要將其標記為本機檔案。右鍵單擊該檔案並選擇“屬性”。接下來,在對話方塊中,選取取消封鎖。確認 UAC 對話方塊中的操作,您就可以使用該模組了。

Cmdlet 命令

跳過第一個 Cmdlet 指令,用於安裝 GPG4Win。如果您尚未完成此步驟,您可以使用此 cmdlet 來安裝和設定程式。該 cmdlet 將其載入到您選擇的目錄中並執行安裝程式。另外兩個 cmdlet 指令是附加的:Add-EncryptionRemove-Encryption 兩者都有三個參數。

使用 Powershell 自動加密 Windows 中的文件

第一個參數是資料夾:-FolderPath 此模組將遍歷資料夾中的每個檔案來加密或解密檔案。如果您不想將其指向「文件」資料夾,則應建立一對子資料夾來使用此腳本。如果您查看模組的原始程式碼,它使用Get-ChildItem來取得目錄中的所有內容。解密功能將搜尋限制為以 .GPG 結尾的檔案。

使用 Powershell 自動加密 Windows 中的文件

下一個參數是用於檔案加密的密碼:-Password。確保此密碼很複雜,因為它可以保護您的檔案。此函數將使用 ForEach 迴圈遍歷每個檔案。檔案和密碼在GPG4Win 的Start-Process中組合作為參數。

最後一個參數-GPGPath是可選的。它作為 GPG4Win 的預設位置安裝。如果將其安裝在另一個磁碟機上,則可以使用此參數來更新它以變更Start-Process 的目標。

編寫腳本

現在是時候將流程自動化了。該腳本將加密資料夾中的文件,將解密的文件移至新資料夾中並刪除原始文件。

首先,使用mport-Module GnuPG導入模組。您需要設定一些變數。第一個變數$EncryptionTarget是目標目錄。 (例如,環境變數用於指向目前使用者的文檔目錄)。將第二個變數設定為密碼,此步驟使更改密碼變得更容易。

導入模組 GnuPG

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

$Passphrase =“MakeAVeryLongSecurePhrase”

新增加密 $EncryptionTarget -密碼 $Passphrase

開始-睡眠-60 秒

$EcnryptedFiles = Get-ChildItem $EncryptionTarget | $EcnryptedFiles = Get-ChildItem $EncryptionTarget | Where-Object $_.Name - 如“*.gpg”

foreach($EcnryptedFiles 中的 $gpg){

行動項目 -Path $gpg.FullName -Destination "$($env:USERPROFILE)\Documents\$($gpg.Name)"

}

$UnEncryptedFiles = Get-ChildItem $EncryptionTarget | $UnEncryptedFiles = Get-ChildItem $EncryptionTarget | $UnEncryptedFiles = Get-ChildItem Where-Object $_.Name - 與「*.gpg」不同

foreach($UnEcnryptedFiles 中的 $nongpg){

刪除項目-路徑$nongpg.FullName-確認$false

}

這些變數作為參數傳遞給添加加密。使用者使用Start-Sleep來設定完成檔案加密的時間,例如時間為三分鐘。該時間可能會根據正在處理的檔案的大小和數量而有所不同。

您可以透過將Get-ChildItemWhere-Object組合來取得 .GPG 檔案。使用ForEach循環將每個檔案複製到新目錄中。您可以重複這些步驟,但將-like轉換為 -notlike,以便第二個ForEach循環清理原始檔案。

設定 cron 作業

現在您已經有了創建計劃任務所需的腳本。開啟任務計劃程式並點擊建立任務

使用 Powershell 自動加密 Windows 中的文件

將其命名為AutoEncrypt。如果您只想在登入時執行任務,請將設定保留為預設值。如果設定為無論使用者是否登入都執行,則選擇“無論使用者是否登入都會執行”,則只能存取電腦上的資料夾。但是,如果您的目標位於遠端電腦上,則需要儲存密碼。此外,您可以設定輔助帳戶來保護您的主帳戶。

使用 Powershell 自動加密 Windows 中的文件

點擊“觸發器”選項卡並設定條件。接下來,按一下「新建」以開啟計劃視窗。您可以將設定保留為預設值,然後按一下「重複任務間隔」旁邊的方塊並將其設定為5分鐘。如果您的需求不緊急,您可以選擇更多的時間。在「持續時間:」旁的下拉式選單中選擇「無限期」,按一下「確定」返回「建立任務」視窗。

使用 Powershell 自動加密 Windows 中的文件

「操作」標籤上,按一下「新建」,在彈出的視窗中,在「程式」方塊中設定Powershell的路徑:

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

在參數方塊中,輸入./和腳本的路徑。按一下「確定」兩次,腳本將設定為作為排程任務執行。

看更多:


如何刪除 Windows 10 螢幕右上角的版權請求通知

如何刪除 Windows 10 螢幕右上角的版權請求通知

您是否在螢幕右上角看到 Windows 10 啟動通知?本文將指導您如何刪除Windows 10上的版權請求通知。

AZ 有關如何安裝 Windows 10 內部版本 14393.222 的說明

AZ 有關如何安裝 Windows 10 內部版本 14393.222 的說明

最近微軟為Windows 10 PC用戶發布了最新的累積更新,名為Build 14393.222。這次針對Windows 10發布的更新主要根據使用者回饋修復了Bug,並提升了作業系統的效能體驗。

只需 3 步驟即可使用 Bastion 主機保護您的電腦網絡

只需 3 步驟即可使用 Bastion 主機保護您的電腦網絡

您的本機網路上是否有需要外部存取的電腦?使用堡壘主機作為網路的看門人可能是一個很好的解決方案。

如果您的鍵盤無法使用,如何建立 Windows 鍵

如果您的鍵盤無法使用,如何建立 Windows 鍵

如果您喜歡使用舊的經典鍵盤,例如 IBM Model M,它不包含實體 Windows 鍵,那麼有一個簡單的方法可以添加更多按鍵,即藉用您不經常使用的鍵。

快速清除Windows 10中所有事件日誌的3種方法

快速清除Windows 10中所有事件日誌的3種方法

有時您可能需要一次刪除所有舊的事件日誌。在本指南中,Quantrimang.com 將向您展示 3 種快速刪除 Windows 10 事件檢視器中所有事件日誌的方法。

假IP方式幫助您匿名訪問

假IP方式幫助您匿名訪問

在之前的許多文章中,我們已經提到在線保持匿名非常重要。私人資訊每年都會被洩露,使得網路安全變得越來越必要。這也是我們應該使用虛擬IP位址的原因。下面,我們就來學習製作假IP的方法!

如何在 Windows 10 上建立透明背景模式

如何在 Windows 10 上建立透明背景模式

WindowTop 是一款能夠調暗 Windows 10 電腦上運行的所有應用程式視窗和程式的工具。或者您可以在 Windows 上使用深色背景介面。

如何關閉 Windows 8 工作列上的語言列

如何關閉 Windows 8 工作列上的語言列

Windows 8 上的語言列是一個微型語言工具列,旨在自動顯示在桌面螢幕上。然而,很多人想在工作列上隱藏這個語言欄。

如何為 Linksys 路由器設定 WEP、WPA、WPA2

如何為 Linksys 路由器設定 WEP、WPA、WPA2

無線連接是當今的必需品,因此,無線安全對於確保內部網路的安全至關重要。

Linksys 優化網路連線速度的技巧

Linksys 優化網路連線速度的技巧

最大限度地提高網路速度對於優化網路連線至關重要。您可以使用電腦、可上網的電視、遊戲機等獲得最佳的娛樂和工作體驗。