SecretManagement.DevolutionsHub.Extension/public/Test-SecretVault.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

function Test-SecretVault {
    [CmdletBinding()]
    param (
        [string] $VaultName,
        [hashtable] $AdditionalParameters
    )

    $verboseEnabled = $AdditionalParameters.ContainsKey('Verbose') -and ($AdditionalParameters['Verbose'] -eq $true)
    Write-Verbose "Test-SecretVault: $VaultName" -Verbose:$verboseEnabled

    $hubParameters = (Get-SecretVault -Name $VaultName).VaultParameters
    try {
        if (-not $hubParameters.VaultId) {
            throw "Vault Id isn't set."
        }

        Connect-DevolutionsHub($VaultName, $hubParameters)
        return $true
    }
    catch {
        Write-Error $_.Exception.Message
        return $false
    }
    finally {
        Disconnect-DevolutionsHub($hubParameters)
    }
    
}