1+ $AzureRMModules = @ {
2+ " Azure.Storage" = " 0.9.8" ;
3+ " AzureRM.ApiManagement" = " 0.9.8" ;
4+ " AzureRM.Automation" = " 0.9.8" ;
5+ " AzureRM.Backup" = " 0.9.8" ;
6+ " AzureRM.Batch" = " 0.9.8" ;
7+ " AzureRM.Compute" = " 0.9.8" ;
8+ " AzureRM.DataFactories" = " 0.9.8" ;
9+ " AzureRM.Dns" = " 0.9.8" ;
10+ " AzureRM.HDInsight" = " 0.9.8" ;
11+ " AzureRM.Insights" = " 0.9.8" ;
12+ " AzureRM.KeyVault" = " 0.9.8" ;
13+ " AzureRM.Network" = " 0.9.8" ;
14+ " AzureRM.OperationalInsights" = " 0.9.8" ;
15+ " AzureRM.Profile" = " 0.9.8" ;
16+ " AzureRM.RedisCache" = " 0.9.8" ;
17+ " AzureRM.Resources" = " 0.9.8" ;
18+ " AzureRM.SiteRecovery" = " 0.9.8" ;
19+ " AzureRM.Sql" = " 0.9.8" ;
20+ " AzureRM.Storage" = " 0.9.8" ;
21+ " AzureRM.StreamAnalytics" = " 0.9.8" ;
22+ " AzureRM.Tags" = " 0.9.8" ;
23+ " AzureRM.TrafficManager" = " 0.9.8" ;
24+ " AzureRM.UsageAggregates" = " 0.9.8" ;
25+ " AzureRM.Websites" = " 0.9.8"
26+ }
27+
128<#
229 . Synopsis
330 Install Azure Resource Manager cmdlet modules
1340#>
1441function Update-AzureRM
1542{
16- param (
17- [Parameter (Position = 0 , Mandatory = $false )]
18- [string ]
19- $Repository ,
20-
21- [Parameter (Position = 1 , Mandatory = $false )]
22- [ValidateSet (" CurrentUser" , " AllUsers" )]
23- [string ]
24- $Scope )
43+ param (
44+ [Parameter (Position = 0 ; Mandatory = $false )]
45+ [string ]
46+ $Repository ;
2547
26- if ([ string ]::IsNullOrWhiteSpace( $Scope ))
27- {
28- $Scope = " AllUsers "
29- }
48+ [ Parameter ( Position = 1 ; Mandatory = $false )]
49+ [ ValidateSet ( " CurrentUser " ; " AllUsers " )]
50+ [ string ]
51+ $Scope )
3052
31- Install-Module AzureRM.Profile - Repository $Repository
32- if ([string ]::IsNullOrWhiteSpace($Repository ))
33- {
34- $modules = Find-Module - Name AzureRM.* | Where-Object {$_.Name -ne " AzureRM" -and $_.Name -ne " AzureRM.Profile" }
35- } else {
36- $modules = Find-Module - Repository $Repository | Where-Object {$_.Name -like " AzureRM.*" -and $_.Name -ne " AzureRM" -and $_.Name -ne " AzureRM.Profile" }
37- }
53+ if ([string ]::IsNullOrWhiteSpace($Scope ))
54+ {
55+ $Scope = " AllUsers"
56+ }
3857
39- Write-Output " Installing $ ( $modules .Length ) AzureRM modules. This may take a few minutes ."
58+ Write-Output " Installing AzureRM modules."
4059
41- $result = $modules | ForEach {
42- Start-Job - Name $_.Name - ScriptBlock {
43- Install-Module - Name $args [0 ] - Repository $args [1 ] - Scope $args [2 ]
44- Write-Output " $ ( $args [0 ]) installed..."
45- } - ArgumentList $_.Name , $Repository , $Scope }
46-
47- $modules | ForEach {Get-Job - Name $_.Name | Wait-Job | Receive-Job }
48- }
60+ $result = $AzureRMModules | ForEach {
61+ Start-Job - Name $_ - ScriptBlock {
62+ if ([string ]::IsNullOrWhiteSpace($args [1 ]))
63+ {
64+ Install-Module - Name $args [0 ] - Scope $args [2 ]
65+ } else {
66+ Install-Module - Name $args [0 ] - Repository $args [1 ] - Scope $args [2 ]
67+ }
68+ $v = (Get-InstalledModule - Name $args [0 ])[0 ].Version.ToString()
69+ Write-Output " $ ( $args [0 ]) $v installed..."
70+ } - ArgumentList $_ ; $Repository ; $Scope }
71+
72+ $AzureRMModules | ForEach {Get-Job - Name $_ | Wait-Job | Receive-Job }
73+ }
74+ New-Alias - Name Install-AzureRM - Value Update-AzureRM
75+ Export-ModuleMember - function * - Alias *
0 commit comments