Connect-AzureAutomation.psm1
function Connect-AzureAutomation([bool] $AzModuleOnly, [String]$AzureEnvironment = 'AzureCloud') { try { $RunAsConnection = Get-AutomationConnection -Name "AzureRunAsConnection" Write-Output "Logging in to Azure ($AzureEnvironment)..." if (!$RunAsConnection.ApplicationId) { $ErrorMessage = "Connection 'AzureRunAsConnection' is incompatible type." throw $ErrorMessage } if ($AzModuleOnly) { Connect-AzAccount ` -ServicePrincipal ` -TenantId $RunAsConnection.TenantId ` -ApplicationId $RunAsConnection.ApplicationId ` -CertificateThumbprint $RunAsConnection.CertificateThumbprint ` -Environment $AzureEnvironment Select-AzSubscription -SubscriptionId $RunAsConnection.SubscriptionID | Write-Verbose } else { Add-AzureRmAccount ` -ServicePrincipal ` -TenantId $RunAsConnection.TenantId ` -ApplicationId $RunAsConnection.ApplicationId ` -CertificateThumbprint $RunAsConnection.CertificateThumbprint ` -Environment $AzureEnvironment Select-AzureRmSubscription -SubscriptionId $RunAsConnection.SubscriptionID | Write-Verbose } } catch { if (!$RunAsConnection) { $RunAsConnection | fl | Write-Output Write-Output $_.Exception $ErrorMessage = "Connection 'AzureRunAsConnection' not found." throw $ErrorMessage } throw $_.Exception } } |