Private/global-functions.ps1
function AuthenticationCheck { <# .SYNOPSIS PreCheck .DESCRIPTION This function is used as a precheck step by all the functions to test if authentication is Ok. .EXAMPLE precheck Run the test .NOTES NAME: precheck #> $azProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile if ($azProfile.Contexts.Count -ne 0) { # Set the subscription from AzContext $script:subscriptionId = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile.DefaultContext.Subscription.Id } else { Write-Error 'No subscription available, Please use Connect-AzAccount to login and select the right subscription' break } } function GetAuthToken($resource) { $context = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile.DefaultContext $Token = [Microsoft.Azure.Commands.Common.Authentication.AzureSession]::Instance.AuthenticationFactory.Authenticate($context.Account, $context.Environment, $context.Tenant.Id.ToString(), $null, [Microsoft.Azure.Commands.Common.Authentication.ShowDialog]::Never, $null, $resource).AccessToken $authHeader = @{ 'Content-Type' = 'application/json' Authorization = 'Bearer ' + $Token } return $authHeader } function Create-CategoryArray ($Categories) { $categoryArray = @() $Categories | foreach { $category = @{ Category = $_ Enabled = $true } $categoryArray += ($category) } return $categoryArray } |