1
- # Requires -RunAsAdministrator
2
-
3
1
$AzureRMProfileVersion = " 0.9.8" ;
4
2
5
3
$AzureRMModules = @ {
6
- " Azure.Storage" = " 0.9.8" ;
7
4
" AzureRM.ApiManagement" = " 0.9.8" ;
8
5
" AzureRM.Automation" = " 0.9.8" ;
9
6
" AzureRM.Backup" = " 0.9.8" ;
@@ -16,7 +13,6 @@ $AzureRMModules = @{
16
13
" AzureRM.KeyVault" = " 0.9.8" ;
17
14
" AzureRM.Network" = " 0.9.8" ;
18
15
" AzureRM.OperationalInsights" = " 0.9.8" ;
19
- " AzureRM.Profile" = " 0.9.8" ;
20
16
" AzureRM.RedisCache" = " 0.9.8" ;
21
17
" AzureRM.Resources" = " 0.9.8" ;
22
18
" AzureRM.SiteRecovery" = " 0.9.8" ;
@@ -29,6 +25,19 @@ $AzureRMModules = @{
29
25
" AzureRM.Websites" = " 0.9.8"
30
26
}
31
27
28
+ function Validate-AdminRights ([string ]$Scope )
29
+ {
30
+ if ($Scope -ne " CurrentUser" )
31
+ {
32
+ $user = [Security.Principal.WindowsIdentity ]::GetCurrent();
33
+ $isAdmin = (New-Object Security.Principal.WindowsPrincipal $user ).IsInRole([Security.Principal.WindowsBuiltinRole ]::Administrator)
34
+ if ($isAdmin -eq $false )
35
+ {
36
+ throw " Administrator rights are required to install Microsoft Azure modules"
37
+ }
38
+ }
39
+ }
40
+
32
41
function Import-ModuleWithVersionCheck ([string ]$Name , [string ]$MinimumVersion , [string ]$Repository , [string ]$Scope )
33
42
{
34
43
$minVer = $MinimumVersion
@@ -77,6 +86,8 @@ function Update-AzureRM
77
86
$Scope = " AllUsers"
78
87
}
79
88
89
+ Validate- AdminRights $Scope
90
+
80
91
Write-Output " Installing AzureRM modules."
81
92
82
93
Import-ModuleWithVersionCheck " AzureRM.Profile" $AzureRMProfileVersion $Repository $Scope
@@ -103,18 +114,24 @@ function Uninstall-AzureRM
103
114
[string ]
104
115
$Repository )
105
116
117
+ Validate- AdminRights " AllUsers"
118
+
106
119
Write-Output " Uninstalling AzureRM modules."
107
120
108
121
$AzureRMModules.Keys | ForEach {
109
122
$moduleName = $_
110
123
if ((Get-InstalledModule | where {$_.Name -eq $moduleName }) -ne $null ) {
111
- Uninstall-Module - Name $_ - ErrorAction Stop
124
+ $minVer = $AzureRMModules [$_ ]
125
+ $maxVer = " $ ( $minVer.Split (" ." )[0 ]) .9999.0"
126
+ Uninstall-Module - Name $_ - MinimumVersion $minVer - MaximumVersion $maxVer - ErrorAction Stop
112
127
Write-Output " $moduleName uninstalled..."
113
128
}
114
129
}
115
130
116
- if ((Get-InstalledModule | where {" AzureRM.Profile" -eq $moduleName }) -ne $null ) {
117
- Uninstall-Module - Name " AzureRM.Profile" - ErrorAction Stop
131
+ if ((Get-InstalledModule | where {$_.Name -eq " AzureRM.Profile" }) -ne $null ) {
132
+ $minVer = $AzureRMProfileVersion
133
+ $maxVer = " $ ( $minVer.Split (" ." )[0 ]) .9999.0"
134
+ Uninstall-Module - Name " AzureRM.Profile" - MinimumVersion $minVer - MaximumVersion $maxVer - ErrorAction Stop
118
135
Write-Output " AzureRM.Profile uninstalled..."
119
136
}
120
137
}
0 commit comments