Private/get-azOSDModules.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 |
function Get-AzOSDModules { [CmdletBinding()] param () $PSModuleName = ('Az.Accounts','Az.Resources') foreach ($currentItemName in $PSModuleName ) { $InstalledModule = Get-InstalledModule $currentItemName -ErrorAction Ignore | Select-Object -First 1 $GalleryPSModule = Find-Module -Name $currentItemName -ErrorAction Ignore if ($InstalledModule) { if (($GalleryPSModule.Version -as [version]) -gt ($InstalledModule.Version -as [version])) { if ($WindowsPhase -eq 'WinPE') { Write-Host -ForegroundColor DarkGray "Update-Module $currentItemName $($GalleryPSModule.Version) [AllUsers]" Update-Module -Name $currentItemName -Scope AllUsers -Force Import-Module $currentItemName -Force } else { Write-Host -ForegroundColor DarkGray "Update-Module $currentItemName $($GalleryPSModule.Version) [CurrentUser]" Update-Module -Name $currentItemName -Scope CurrentUser -Force Import-Module $currentItemName -Force } } } else { if ($WindowsPhase -eq 'WinPE') { Write-Host -ForegroundColor DarkGray "Install-Module $currentItemName $($GalleryPSModule.Version) [AllUsers]" Install-Module $currentItemName -Scope AllUsers } else { Write-Host -ForegroundColor DarkGray "Install-Module $currentItemName $($GalleryPSModule.Version) [CurrentUser]" Install-Module $currentItemName -Scope CurrentUser } } Import-Module $currentItemName -Force } } |