Private/Get-SNMPv3SecurityLevel.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
31
function Get-SNMPv3SecurityLevel
{
    param(
        [string]$AuthType,
        [string]$AuthSecret,
        [string]$PrivType,
        [string]$PrivSecret
    )

    $Properties = @{}
    $Properties.Add('IsValid', $false)

    if ($AuthType -ne 'None' -and $AuthSecret -and $PrivType -ne 'None' -and $PrivSecret)
    {
        $Properties.Add('Level', 'authPriv')
        $Properties.IsValid = $true
    }
    elseif ($AuthType -ne 'None' -and $AuthSecret -and $PrivType -eq 'None' -and (-not $PrivSecret))
    {
        $Properties.Add('Level', 'authNoPriv')
        $Properties.IsValid = $true
    }
    elseif ($AuthType -eq 'None' -and (-not $AuthSecret) -and $PrivType -eq 'None' -and (-not $PrivSecret))
    {
        $Properties.Add('Level', 'noAuthNoPriv')
        $Properties.IsValid = $true
    }

    New-Object -TypeName PSObject -Property $Properties
}