Private/func_Test-MSPToolboxConnection.ps1
function Test-MSPToolboxConnection { $functionCallStack = (Get-PSCallStack | Select-Object -ExpandProperty FunctionName)[1] $functionExceptions = @("Connect-MSPToolbox") $sessionData = $script:mspToolBoxSession if ($functionCallStack -notin $functionExceptions) { if ([string]::IsNullOrEmpty($sessionData.MSPAuthHeader)) { Write-Error "Please connect first using: 'Connect-MSPToolbox'" } if (-not [string]::IsNullOrEmpty($sessionData.CustomerTokenExpiry)) { if ($sessionData.CustomerTokenExpiry -lt (Get-Date).AddMinutes(-15)) { Write-Warning "Tokens for customer are about to expire, generating new ones" Connect-MSPPartner -TenantID $sessionData.CustomerTenantID | Out-Null } } if (-not [string]::IsNullOrEmpty($sessionData.MSPTokenExpiry)) { if ($sessionData.MSPTokenExpiry -lt (Get-Date).AddMinutes(-15)) { Write-Warning "MSP token is about to expire, generating a new one" $connectSplat = @{ TenantID = $sessionData.TenantID ApplicationID = $sessionData.ApplicationID ApplicationSecret = $sessionData.ApplicationSecret | ConvertTo-SecureString -AsPlainText -Force RefreshToken = $sessionData.Refreshtoken | ConvertTo-SecureString -AsPlainText -Force } Connect-MSPToolbox @connectSplat | Out-Null } } } } |