Private/Test-NSPConditionalAccessDefinitionSelected.ps1
|
function Test-NSPConditionalAccessDefinitionSelected { <# .SYNOPSIS Whether a tenant profile's options select a definition. A definition without Option always is. #> [CmdletBinding()] [OutputType([bool])] param( [Parameter(Mandatory)][System.Collections.IDictionary]$Definition, $TenantProfile ) if (-not $Definition['Option']) { return $true } $name, $value = ([string]$Definition['Option']) -split '=', 2 $option = (Get-NSPConditionalAccessOption)[$name] if (-not $option) { return $false } $chosen = Get-NSPConditionalAccessMapValue (Get-NSPConditionalAccessMapValue $TenantProfile 'Options') $name if (-not $chosen) { $chosen = $option.Default } # 'Name=A,B' is selected by either value (NSP-BASE-REG-04 goes with two registration modes). [string]$chosen -in @($value -split ',') } |