From 87fb0fe40b4ac7831a69ee08906b8722b66cab15 Mon Sep 17 00:00:00 2001 From: John Gaunt Date: Wed, 24 Nov 2021 12:06:02 -0500 Subject: [PATCH] removed seesion key logic and added logic for incorrect password --- backupBitwarden.ps1 | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/backupBitwarden.ps1 b/backupBitwarden.ps1 index 85e6acf..1ed290f 100644 --- a/backupBitwarden.ps1 +++ b/backupBitwarden.ps1 @@ -8,18 +8,25 @@ $dateTime = get-date -format ("yyyyMMdd-HHmmss") $env:Path += ";$PSScriptRoot\lib;$PSScriptRoot\lib\gpg\bin" bw config server https://bitwarden.johnhgaunt.com -if ($sessionKey -eq $null) { +while ($true) { $username = Read-Host "Please enter your bitwarden email" $password = Read-Host -assecurestring "Please enter your bitwarden password" $password = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($password)) $code = Read-Host "Please enter your 2fa code (hit enter if not used)" if ($code -eq "") { - $sessionKey = $(bw login $username $password --raw) + $sessionKey = $(bw login $username $password --raw --nointeraction) } else { - $sessionKey = $(bw login $username $password --method 0 --code $code --raw) + $sessionKey = $(bw login $username $password --method 0 --code $code --raw --nointeraction) + } + $bwStatus = $(ConvertFrom-Json $(bw status)) + if ($bwStatus.Status -ne "locked") { + Write-Warning "Unable to login, please try agian." + } else { + break } } + Write-Host "Exporting vault to both CSV and JSON files." Write-Verbose "Exporting vault to CSV." bw export $password --output "$PSScriptRoot\Bitwarden User $username Export $dateTime.csv" --format csv --session $sessionKey