Run the code blocks in one of the following sections to update or install the latest version of the Azure PowerShell modules from the PSGallery:
| Expand |
|---|
| Info |
|---|
This will perform the following actions for each PowerShell module: |
Unload Graph PowerShell modules respecting dependency on Microsoft.Graph.Authentication | Code Block |
|---|
# get loaded modules with base module split out
$Modules, $BaseModule = (Get-Module -Name 'Az.*').Where({$_.Name -ne 'Az.Accounts'},[System.Management.Automation.WhereOperatorSelectionMode]::Split)
# unload modules with base module last
$Modules | ForEach-Object { Remove-Module -Name $_.Name -Force }; $BaseModule | ForEach-Object { Remove-Module -Name $_.Name -Force } |
Update Graph PowerShell modules | Code Block |
|---|
Get-Module -ListAvailable -Name Az.* | ForEach-Object { Update-Module -Name $_.Name } |
|
| Expand |
|---|
| Info |
|---|
This will perform the following actions for each PowerShell module: Remove the modules from the current session if loaded Remove the module files from the AllUsers scope Install the modules from the PowerShell gallery
|
Unload Azure PowerShell modules respecting the dependency on Az.Accounts
| Code Block |
# get loaded modules with base module split out
$Modules, $BaseModule| Note |
|---|
This step should only be completed in the prod (AUSTIN) domain. |
Run the following commands to verify the NuGet provider is installed:
| Code Block |
|---|
|
Find-PackageProvider -Name 'NuGet' -Force -ForceBootstrap |
Run the following commands to trust the PSGallery:
| Code Block |
|---|
|
Set-PSRepository -Name 'PSGallery' -InstallationPolicy Trusted |
Run the following commands to define the names of the Azure PowerShell module collection and of any modules that are a dependency for other modules the collection:
| Code Block |
|---|
|
$PowerShellModuleName = 'Az'
$DependsOnModuleNames = 'Az.Accounts' |
Run the following commands to split the Azure PowerShell modules respecting the module dependencies:
| Code Block |
|---|
|
$Modules, $Dependencies = (Get-Module -Name 'Az"$PowerShellModuleName.* '").Where({$_.Name -ne 'Az.Accounts'notin $DependsOnModuleNames},[System.Management.Automation.WhereOperatorSelectionMode]::Split)
# unload modules with base module last
|
Run the following commands to unload the Azure PowerShell modules respecting the module dependencies:
| Code Block |
|---|
|
$Modules | ForEach-Object { Remove-Module -Name $_.Name -Force -Verbose }; $BaseModule$Dependencies | ForEach-Object { Remove-Module -Name $_.Name -Force -Verbose }Remove |
Run the following commands to remove the Azure PowerShell modules currently installed:
| Code Block |
|---|
|
Get-ChildItem -Path "$env:ProgramFiles\WindowsPowerShell\Modules" -Filter 'Az.*'"$PowerShellModuleName*" | Remove-Item -Force -Recurse - ForceInstall Verbose |
Run the following commands to install the latest version of the Azure PowerShell modules from the PSGallery:
| Code Block |
|---|
|
Save-Module -Path "$env:ProgramFiles\WindowsPowerShell\Modules" -Name $PowerShellModuleName -Force -Verbose |
| Note |
|---|
There is a bug in version 3.0.0 of the Az -Force.Accounts module that prevents sign in to Azure via the Web Account Manager (WAM) on Windows. Run the following commands to disable the login via WAM functionality: | Code Block |
|---|
| Update-AzConfig -EnableLoginByWam $false |
|