你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

配置 Azure PowerShell 全局设置

Azure PowerShell 提供各种全局设置,例如禁用中断性变更警告消息的选项。 在 Az PowerShell 模块版本 9 之前,没有集中或详细的方法来配置这些全局设置

集中式配置

Az PowerShell 模块版本 9 及更高版本包含用于管理 Azure PowerShell 全局设置配置的 cmdlet。 这些 *-AzConfig cmdlet 属于 Az.Accounts PowerShell 模块

精细设置

可应用在特定范围内有效的设置。 Scope 参数的有效值如下:

  • Current User:应用设置时的默认范围。
  • Process:设置仅应用于当前 PowerShell 会话。
  • Default:默认值未更改的只读范围。
  • Environment:通过环境变量配置值的只读范围。

除了范围之外,还可将设置应用于所有 Az PowerShell 模块或只应用于单个模块。 使用 AppliesTo 参数,可指定该设置的应用范围。 值 Az 指示设置应用于 Azure PowerShell 中的所有模块。

配置选项

可以使用 *-AzConfig cmdlet 设置多个配置选项。 本部分显示了其中许多配置选项。 运行以下命令,查看可以使用 *-AzConfig cmdlet 设置的 Azure PowerShell 配置选项的完整列表。

Get-AzConfig | Format-List

升级通知

Azure PowerShell 版本升级的工具内通知是 Az PowerShell 模块版本 10.3.0 中发布的一项功能。 当新版本的 Azure PowerShell 可用时,交互式 PowerShell 会话中会显示升级通知。

若要确定是否启用了升级通知,请将 cmdlet 与 Get-AzConfigCheckForUpgrade 参数一起使用,如以下示例所示。

Get-AzConfig -CheckForUpgrade

若要为 Azure PowerShell 启用升级通知,请使用具有 CheckForUpgrade 参数的 Update-AzConfig cmdlet 及其 $true 值,如以下示例所示。

Update-AzConfig -CheckForUpgrade $true

若要关闭升级通知,请使用 Update-AzConfig 具有 CheckForUpgrade 参数的 cmdlet 及其 $false 值,如以下示例所示。

Update-AzConfig -CheckForUpgrade $false

默认订阅

默认情况下,从 Az PowerShell 模块版本 12.0.0 开始,如果你有权访问多个订阅,系统会提示你选择要登录的 Azure 订阅

若要防止每次以交互方式登录时,系统提示你选择订阅,请结合 DefaultSubscriptionForLogin 参数使用 Update-AzConfig cmdlet 设置默认订阅,如以下示例所示

Update-AzConfig -DefaultSubscriptionForLogin <Subscription ID or Name>

注意

不要与默认上下文的订阅混淆,DefaultSubscriptionForLogin 配置仅在向 Azure 进行身份验证时生效。

实例发现

“禁用实例发现”设置适用于无法访问元数据终结点的情况,例如在私有云或 Azure Stack 环境中。 实例发现涉及从 https://login.microsoft.com/ 检索颁发机构元数据来验证颁发机构。 启用此设置(将其设置为 true)后,可以禁用实例发现和颁发机构验证。 因此,必须确保配置的颁发机构主机有效且可信。

若要禁用实例发现和颁发机构验证,请启用此设置(将其设置为 true)。

Update-AzConfig -DisableInstanceDiscovery $true

中断性变更警告消息

若要禁用针对所有 Az 模块中 cmdlet 的中断性变更警告消息,请结合 DisplayBreakingChangeWarning 参数使用 Update-AzConfig cmdlet,如以下示例所示

Update-AzConfig -DisplayBreakingChangeWarning $false

若要禁用 Az.Compute 模块中专门针对 cmdlet 的中断性变更警告消息,请结合 DisplayBreakingChangeWarning 和 AppliesTo 参数使用 Update-AzConfig cmdlet,如以下示例所示

Update-AzConfig -DisplayBreakingChangeWarning $false -AppliesTo Az.Compute

在此方案中,除 Az.Compute 之外,所有 Az PowerShell 模块中的 cmdlet 的中断性变更警告消息保持活动状态

Azure 区域标识

Azure 客户可以选择在多个不同的区域中部署资源。 有时,客户可以通过选择提供相同服务的附近区域来降低成本。 如果某个附近区域被标识,则一条消息会显示要选择用于将来部署的区域。

若要禁用区域建议消息,请结合 DisplayRegionIdentified 参数使用 Update-AzConfig cmdlet,如以下示例所示

Update-AzConfig -DisplayRegionIdentified $false

有关 Azure 区域的详细信息,请参阅选择适合你的 Azure 区域

显示机密警告

从版本 12.0.0 开始,Azure PowerShell 默认情况下会显示警告消息,来帮助在命令输出中识别潜在机密时保护敏感信息。

在以下示例中中,使用了 Update-AzConfig cmdlet 来禁用警告消息。

Update-AzConfig -DisplaySecretsWarning $false

调查

使用 Azure PowerShell 时,你可能会受邀参与调查、向我们提供你的体验反馈。 虽然此数据提供的见解非常有用,但我们了解并非人人都愿意收到完成调查的提示。

可以使用 Update-AzConfig cmdlet 禁用调查参与提示,如以下示例所示。

Update-AzConfig -DisplaySurveyMessage $false

数据收集

默认情况下,Azure PowerShell cmdlet 会向 Microsoft 发送遥测数据,以优化客户体验。 有关详细信息,请参阅我们的隐私声明:aka.ms/privacy

Update-AzConfig -EnableDataCollection $false

错误记录

默认情况下,Azure PowerShell 错误记录将写入 $HOME/.Azure/ErrorRecords

若要禁用持久性错误记录,请结合 EnableErrorRecordsPersistence 参数使用 Update-AzConfig cmdlet,如以下示例所示

Update-AzConfig -EnableErrorRecordsPersistence $false

Web 帐户管理器 (WAM)

从 Az PowerShell 模块版本 12.0.0 开始,Windows 系统默认使用 Web 帐户管理器 (WAM),Linux 和 macOS 系统默认使用基于浏览器的登录

若要在 Windows 10 及更高版本或 Windows Server 2019 及更高版本上使用基于浏览器的登录,对于 Az 12.0.0 及更高版本,必须为 Azure PowerShell 禁用 WAM。 使用以下命令禁用 WAM 并返回到基于浏览器的登录(Az 12.0.0 版本之前的默认设置)。

Update-AzConfig -EnableLoginByWam $false

全新登录体验

从 Az PowerShell 模块版本 12.0.0 开始,如果你有权访问多个订阅,系统会提示你选择要登录的 Azure 订阅

当新的登录体验被禁用并且你有权访问多个订阅时,你会登录到 Azure 返回的第一个订阅,除非指定 Connect-AzAccount 的订阅。 默认情况下,命令将针对此订阅运行。 此行为可能很危险,例如,如果返回的第一个订阅是生产环境。

若要禁用新的登录体验,请使用 Update-AzConfig cmdlet,如以下示例所示。

Update-AzConfig -LoginExperienceV2 Off

复制设置

要将设置从一个环境复制到另一个环境,可使用 Export-AzConfig cmdlet 将设置导出到 JSON 文件。

Export-AzConfig -Path $HOME\AzConfig.json

要导入设置,可使用 Import-AzConfig cmdlet 并引用之前导出的 JSON 文件。

Import-AzConfig -Path $HOME\AzConfig.json

清除配置

要将一个或多个 Azure PowerShell 全局设置的配置设置重置为默认值,可使用 Clear-AzConfig cmdlet。 在以下示例中,已清除 DefaultSubscriptionForLogin 设置。

Clear-AzConfig -DefaultSubscriptionForLogin