Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Run the following

...

commands to

...

verify the NuGet provider is installed:

Code Block
languagepowershell
Update-AzConfig
Find-PackageProvider -Name 'NuGet' -
EnableLoginByWam
Force 
$false
-ForceBootstrap

Run the code blocks in one of the following sections to update or install the latest version following commands to trust the PSGallery:

Code Block
languagepowershell
Set-PSRepository -Name 'PSGallery' -InstallationPolicy Trusted

Run the following commands to define the names of the Azure PowerShell modules from the PSGallery: 

  • Update modules:

...

Info

This will perform the following actions for each PowerShell module:

  • Remove the modules from the current session if loaded

  • Update the module if installed and install the module if not

...

module collection and of any modules that are a dependency for other modules the collection:

Code Block
languagepowershell
$PowerShellModuleName = 'Az'
$DependsOnModuleNames = 'Az.Accounts'

Run the following commands to split the Azure PowerShell modules respecting the module dependencies:

Code Block
languagepowershell
$Modules, 
$BaseModule
$Dependencies = (Get-Module -Name 
'Az
"$PowerShellModuleName.*
'
").Where({$_.Name -
ne 'Az.Accounts'
notin $DependsOnModuleNames},[System.Management.Automation.WhereOperatorSelectionMode]::Split)
Unload

Run the following commands to unload the Azure PowerShell modules respecting

...

the module dependencies:

Code Block
languagepowershell
$Modules | ForEach-Object { Remove-Module -Name $_.Name -Force }; 
$BaseModule
$Dependencies | ForEach-Object { Remove-Module -Name $_.Name -Force }
Update

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: 

  • To update the modules:

    Code Block
    languagepowershell
    Get-Module -ListAvailable -Name 

...

  • "$PowerShellModuleName.*" | ForEach-Object { Update-Module -Name $_.Name } 
  • Reinstall modules 

...

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

Define Azure PowerShell modules respecting dependency on Az.Accounts

Code Block
languagepowershell
$Modules, $BaseModule = (Get-Module -Name 'Az.*').Where({$_.Name -ne 'Az.Accounts'},[System.Management.Automation.WhereOperatorSelectionMode]::Split)

Unload Azure PowerShell modules respecting dependency on Az.Accounts

Remove Azure PowerShell modules

...

languagepowershell

...

  • To install or reinstall the modules:

    Code Block
    languagepowershell

...

$Modules | ForEach-Object { Remove-Module -Name $_.Name -Force }; $BaseModule | ForEach-Object { Remove-Module -Name $_.Name -Force }
  • Save-Module -Path "$env:ProgramFiles\WindowsPowerShell\Modules" -

...

  • Name $PowerShellModuleName -Force
Note

There is a bug in version 3.0.0 of the Az.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
languagepowershell
SaveUpdate-ModuleAzConfig -Path "$env:ProgramFiles\WindowsPowerShell\Modules" -Name Az -ForceEnableLoginByWam $false