這篇文章將介紹如何將 Aegis Authenticator 中的明文 JSON 資料匯出並轉換為 PowertoysRunTOTP 所需的格式,幫助你將雙因素驗證(2FA)帳號從 Aegis 匯入到 PowerToys Run TOTP 擴充套件中。
警告:請勿將明文 JSON 文件長時間保留在電腦中。建議將其存放在加密的存儲空間中,如 pCloud Crypto,或者使用 7zip 壓縮並設置安全密碼來保護文件。
步驟 1:匯出 Aegis Authenticator 明文 JSON
首先,從 Aegis Authenticator 中匯出你的 2FA 帳號資料。確保匯出的文件是明文 JSON 格式,並保存到一個安全的位置,例如 C:\path\to\aegis_export.json
。
步驟 2:編寫 PowerShell 腳本
編寫一個 PowerShell 腳本來轉換 Aegis 匯出的 JSON 文件為 PowertoysRunTOTP 所需的格式。以下是完整的腳本,你可以用記事本複製貼上,並儲存為 .ps1 檔案例如 convert_aegis_to_powertoysrun.ps1
。
$inputFilePath = "P:\Crypto Folder\aegis.json"
$outputFilePath = "$env:LOCALAPPDATA\Microsoft\PowerToys\PowerToys Run\Settings\Plugins\Community.PowerToys.Run.Plugin.TOTP\OTPList.json_new"
try {
# Read the Aegis JSON file and ensure it uses UTF-8 encoding
$jsonContent = Get-Content -Raw -Path $inputFilePath -Encoding UTF8
# Check if the JSON file is empty
if ($jsonContent -eq $null -or $jsonContent.Trim() -eq "") {
throw "The Aegis JSON file is empty or contains no content"
}
try {
# Parse the JSON file
$aegisData = $jsonContent | ConvertFrom-Json
} catch {
throw "JSON parsing error: $_"
}
# Prepare the JSON structure for PowerToysRunTOTP
$powerToysRunTOTP = @{
Version = 2
Entries = @()
}
# Check the structure of the Aegis JSON file
if ($aegisData.db.entries -ne $null) {
# Iterate over Aegis entries and extract necessary data
foreach ($entry in $aegisData.db.entries) {
$newEntry = @{
Name = "$($entry.issuer): $($entry.name)"
Key = $entry.info.secret
IsEncrypted = $false
}
$powerToysRunTOTP.Entries += $newEntry
}
} else {
throw "Entries in the Aegis JSON file are empty or not found"
}
# Write the converted data to the PowerToysRunTOTP JSON file
$powerToysRunTOTP | ConvertTo-Json -Depth 3 | Set-Content -Path $outputFilePath -Encoding UTF8
Write-Host "Aegis JSON conversion successful and saved to $outputFilePath"
} catch {
Write-Host "An error occurred during the conversion process: $_"
}
步驟 3:執行 PowerShell 腳本
方法一:在 Windows 10 或更高版本上右鍵執行
- 確保 PowerToys 已關閉。這樣可以避免 PowertoysRun OTP 擴充套件在執行過程中覆蓋使用者編輯的文件。
- 打開檔案總管,找到你保存的 PowerShell 腳本文件,例如
convert_aegis_to_powertoysrun.ps1
。 - 右鍵點擊該文件,選擇「以 PowerShell 執行」。
- 如果看到 Windows 安全警告,請選擇「更多資訊」然後點擊「仍要執行」。
方法二:使用 PowerShell 命令執行
- 確保 PowerToys 已關閉。這樣可以避免 PowertoysRun OTP 擴充套件在執行過程中覆蓋使用者編輯的文件。
- 按下
Win + X
鍵,選擇「Windows PowerShell(管理員)」或「Windows 終端機(管理員)」。 - 在 PowerShell 視窗中,輸入以下命令,不要按下 Enter (-File 後面有帶一個空格):
PowerShell -ExecutionPolicy Bypass -File
- 打開檔案總管,找到你保存的 PowerShell 腳本文件。
- 將該文件拖曳到 PowerShell 視窗中。這樣會自動填入文件的完整路徑。
- 確認命令如下所示,然後按下 Enter 鍵執行:
PowerShell -ExecutionPolicy Bypass -File "C:\path\to\convert_aegis_to_powertoysrun.ps1"
步驟 4:驗證匯入結果
- 打開 PowerToys,這將自動啟動 TOTP 擴充套件。
- PowertoysRun TOTP 擴充套件啟動後,會自動加密 OTPList.json 文件中的資料。
- 打開 PowerToys Run 並檢查是否成功匯入了你的 2FA 帳號。如果一切順利,你應該可以看到你匯入的帳號並使用它們進行身份驗證。
總結
通過以上步驟,我們成功地將 Aegis Authenticator 匯出的明文 JSON 文件轉換並匯入到 PowertoysRunTOTP 中。這種方法可以幫助你輕鬆地管理你的 2FA 帳號,並在不同的裝置之間進行遷移。
如果你覺得文章對你有幫助,歡迎在下方留言、按下笑臉或分享給其他人知道。
若有相關的建議也歡迎留言!
Facebook 留言