Private/Assert-NSPEntraPairingSession.ps1
|
function Assert-NSPEntraPairingSession { <# .SYNOPSIS Throws, naming the reconnect command, unless the Graph session holds a purpose's scopes. #> [CmdletBinding()] param( [Parameter(Mandatory)][ValidateSet('Preflight', 'HardMatch')][string]$Purpose, [Parameter(Mandatory)][guid]$TenantId ) $required = @(Get-NSPEntraPairingGraphScopes -Purpose $Purpose) $reconnect = "Run: Connect-NSPEntraPairingGraph -TenantId '$TenantId' -Purpose $Purpose" $context = Connect-NSPGraph -Scopes $required -Optional if (-not $context) { throw "No Graph session. $reconnect" } $missing = @($required | Where-Object { $_ -notin @($context.Scopes) }) if ($missing.Count) { throw "The Graph session lacks $($missing -join ', '). $reconnect" } } |