-
Notifications
You must be signed in to change notification settings - Fork 0
/
ARMDEPLOYMENT.ps1
101 lines (82 loc) · 3.2 KB
/
ARMDEPLOYMENT.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#Checks and updates AZ module
Function CheckInstalledModule
{
$tabModules = @()
$modules = (Get-InstalledModule).Name
Foreach ($m in $modules)
{
$tabModules += $modules
}
if ($tabModules -notcontains "AZ")
{
Install-Module -Name Az -Scope CurrentUser -Repository PSGallery -Force
Write-Host "Installing AzureAD module" -ForegroundColor Cyan
}
if ($tabModules -contains "AZ")
{
Write-Host "AZ module is already installed" -ForegroundColor Green
}
}
CheckInstalledModule
Connect-azaccount
#Specify parameters
$TenantID = #tenant parameter
$TenantName = 'B0001' #tenant symbol (f.e. B000XX)
$SubscriptionID = #subscription parameter
#locks script to correct tenant and subscription
Set-AzContext -tenant $TenantID -subscription $SubscriptionID
#RG preset parameters
$Location = 'West Europe'
$mwrg = $tenantname + 'MW-RG'
$mwloganalytics = $tenantName +'MW-LogAnalyticsWorkspace'
$mwautomation = $tenantName +'MW-Automation'
$mwclaps = $tenantName +'MW-CLAPS'
$mwDefaultResourceGroup = $tenantName +'-MW-DefaultResourceGroup-WEU'
#Resource group pre-creation
New-AzResourceGroup -Name $mwrg -Location $Location -ErrorAction Stop
Write-Host ($mwrg + ' Created Successfully') -ForegroundColor Green
New-AzResourceGroup -Name $mwloganalytics -Location $Location -ErrorAction Stop
Write-Host ($mwloganalytics + ' Created Successfully') -ForegroundColor Green
New-AzResourceGroup -Name $mwautomation -Location $Location -ErrorAction Stop
Write-Host ($mwautomation + ' Created Successfully') -ForegroundColor Green
New-AzResourceGroup -Name $mwclaps -Location $Location -ErrorAction Stop
Write-Host ($mwclaps + ' Created Successfully') -ForegroundColor Green
New-AzResourceGroup -Name $mwDefaultResourceGroup -Location $Location -ErrorAction Stop
Write-Host ($mwDefaultResourceGroup + ' Created Successfully') -ForegroundColor Green
#ARM Deployment
New-AzResourceGroupDeployment -ResourceGroupName $mwrg `
-Name `
-TemplateFile `
-TemplateParameterFile `
-DeploymentDebugLogLevel RequestContent
read-host “Validate if ARM was deployed sucessfully and press enter...”
New-AzResourceGroupDeployment -ResourceGroupName $mwloganalytics `
-Name `
-TemplateFile `
-TemplateParameterFile `
-DeploymentDebugLogLevel RequestContent
read-host “Validate if ARM was deployed sucessfully and press enter...”
New-AzResourceGroupDeployment -ResourceGroupName $mwautomation `
-Name `
-TemplateFile `
-TemplateParameterFile `
-DeploymentDebugLogLevel RequestContent
read-host “Validate if ARM was deployed sucessfully and press enter...”
New-AzResourceGroupDeployment -ResourceGroupName $mwclaps `
-Name `
-TemplateFile `
-TemplateParameterFile `
-DeploymentDebugLogLevel RequestContent
read-host “Validate if ARM was deployed sucessfully and press enter...”
#LogAnalytics ARM Deployment
New-AzResourceGroupDeployment -ResourceGroupName $mwDefaultResourceGroup `
-Name `
-TemplateFile `
-TemplateParameterFile `
-DeploymentDebugLogLevel RequestContent
read-host “Validate if ARM was deployed sucessfully and press enter...”
Write-Host 'Deployment completed' -BackgroundColor Green
#TO DO List
#errorcheck
#CLAPS FunctionApp veryfication
#Migration to DevOPS