functions/azure/Test-AzContextAndConnect.ps1
function Test-AzContextAndConnect { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [string]$TenantId, [Parameter(Mandatory = $true)] [string]$SubscriptionId, [Parameter(Mandatory = $true)] [string]$ServicePrincipalName, [Parameter(Mandatory = $false)] [string]$Scope = 'https://management.azure.com/.default' ) $storedCredentials = Get-AzStoredServicePrincipalCredential ` -TenantId $TenantId ` -SubscriptionId $SubscriptionId ` -ServicePrincipalName $ServicePrincipalName $clientId = $storedCredentials.Credential.UserName $needsReconnect = $BcAdminSession.AzureTenantId -ne $TenantId -or $BcAdminSession.AzureSubscriptionId -ne $SubscriptionId -or $BcAdminSession.AzureClientId -ne $clientId if ($needsReconnect) { return (Connect-ToAzure -TenantId $TenantId -SubscriptionId $SubscriptionId -ClientId $clientId -ClientSecret $storedCredentials.Credential.Password -Scope $Scope) } else { return $true } } |