如何更新所有 Azure Powershell Az 模块?

Posted

技术标签:

【中文标题】如何更新所有 Azure Powershell Az 模块?【英文标题】:How to update all Azure Powershell Az modules? 【发布时间】:2021-07-05 12:08:50 【问题描述】:

Azure Powershell Az 模块附带各种模块,例如 Az.Accounts、Az.Aks 等。是否可以一次更新所有这些 Az.* 模块?

【问题讨论】:

请看这个:robertsmit.wordpress.com/2020/05/27/…。 HTH。 【参考方案1】:

试试这个

Get-InstalledModule -Name Az* | Update-Module

您可以在Update-Module 之后添加-Force,这样您就不会在每个模块中都收到诸如不受信任的存储库之类的提示。

【讨论】:

【参考方案2】:
Update-Module Az -Force

所有单个模块都是 Az 模块的依赖项。所以这应该可以解决问题。

【讨论】:

【参考方案3】:

本文提供有关 Azure Az PowerShell 模块的完整详细信息和步骤:https://docs.microsoft.com/en-us/powershell/azure/new-azureps-module-az?view=azps-5.7.0 如果您正在寻找特定的服务模块,请查看参考部分

【讨论】:

【参考方案4】:

你可以试试我不久前写的这个脚本。它会遍历每个 Az.* 模块并更新到最新版本,包括删除仍安装的以前版本。

# Go through all Az.* versions
# Use -ListAvailable to show all versions
Get-Module -Name Az.* -ListAvailable | ForEach-Object 
    $moduleName = $_.Name
    $currentVersion = [Version]$_.Version

    Write-Host "Current version $moduleName [$currentVersion]"

    # Get latest version from gallery
    $latestVersion = [Version](Find-Module -Name $moduleName).Version
    
    # Only proceed if latest version in gallery is greater than your current version
    if ($latestVersion -gt $currentVersion) 
        Write-Host "Found latest version $modulename [$latestVersion] from $($latestVersionModule.Repository)"

        # Check if latest version is already installed before updating
        $latestVersionModule = Get-InstalledModule -Name $moduleName -RequiredVersion $latestVersion -ErrorAction SilentlyContinue
        if ($null -eq $latestVersionModule) 
            Write-Host "Updating $moduleName Module from [$currentVersion] to [$latestVersion]"
            Update-Module -Name $moduleName -RequiredVersion $latestVersion -Force
        
        else 
            Write-Host "No update needed, $modulename [$latestVersion] already exists"
        

        # Uninstall outdated version
        Write-Host "Uninstalling $moduleName [$currentVersion]"
        Uninstall-Module -Name $moduleName -RequiredVersion $currentVersion -Force
    

    # Otherwise we already have most up to date version
    else 
        Write-Host "$moduleName already up to date"
    

【讨论】:

以上是关于如何更新所有 Azure Powershell Az 模块?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过powershell或C#使用本地IP远程更新azure SQL防火墙

如何安装和配置 Azure PowerShell

使用 Azure Devops 任务或 PowerShell 创建/更新 Azure WebApp 的路径映射

使用 Powershell 从 Azure 存储子容器中删除所有文件

新版Azure Automation Account 浅析 --- 更新Powershell模块和创建Runbook

Microsoft Azure系列之四 Micorosft Azure Powershell 管理