Start-AnalysisService.ps1
Function Start-AnalysisService { param( [string] $AzureRunAsConnection, [string] $resourceGroupName, [string] $Name # [parameter(Mandatory=$false)] # [string] $scalingScheduleTimeZone = "W. Europe Standard Time" ) filter timestamp { "[$(Get-Date -Format G)]: $_" } Write-Output 'Script started.' | timestamp $VerbosePreference = 'Continue' $ErrorActionPreference = 'Stop' # Connect using a Managed Service Identity try { $AzureContext = (Connect-AzAccount -Identity).context Write-Output 'Authenticated with MI.' | timestamp } catch { Write-Output 'There is no system-assigned user identity. Aborting. Setup the same or try using RunAs account automation method.'; } Write-Output ('AzureRunAsConnection: {0} ResourceGroupName: {1} Name: {2}' -F $AzureRunAsConnection, $ResourceGroupName, $Name) # Get the server object $asSrv = Get-AzAnalysisServicesServer -ResourceGroupName $resourceGroupName -Name $Name Write-Output "AAS server name: $($asSrv.Name)" | timestamp Write-Output "Current server status: $($asSrv.State), sku: $($asSrv.Sku.Name)" | timestamp # Analysis Service Server Pause & Resume logic if (($asSrv.State -eq 'Paused')) { Write-Output 'Service is paused. Resuming Now !' | timestamp $asSrv | Resume-AzAnalysisServicesServer Write-Output 'Service resumed.' | timestamp } else { Write-Output 'Service already Running !' | timestamp } Write-Output 'Script finished.' | timestamp } |