functions/azure/Test-AzContextAndConnect.ps1
function Test-AzContextAndConnect { param ( [string]$TenantId, [string]$SubscriptionId, [string]$ServicePrincipalName ) $ctx = Get-AzContext $expectedCreds = Get-AzStoredServicePrincipalCredential ` -TenantId $TenantId ` -SubscriptionId $SubscriptionId ` -ServicePrincipalName $ServicePrincipalName $expectedAppId = $expectedCreds.Credential.UserName $needsReconnect = -not $ctx -or $ctx.Tenant.Id -ne $TenantId -or $ctx.Subscription.Id -ne $SubscriptionId -or $ctx.Account.Id -ne $expectedAppId if ($needsReconnect) { Connect-AzAccount ` -ServicePrincipal ` -Credential $expectedCreds.Credential ` -Tenant $expectedCreds.TenantId ` -Subscription $expectedCreds.SubscriptionId | Out-Null } } |