你当前正在访问 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 会话中。
若要确定是否启用了升级通知,请将 Get-AzConfig
cmdlet 与 CheckForUpgrade 参数一起使用,如以下示例所示。
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 订阅。
若要防止在每次以交互方式登录时提示选择订阅,请使用 Update-AzConfig
cmdlet 和 DefaultSubscriptionForLogin 参数来设置默认订阅,如以下示例所示。
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 客户可以选择在多个不同的区域中部署资源。 有时,客户可以通过选择提供相同服务的附近区域来降低成本。 如果确定附近的区域,则会显示一条消息,显示要为将来的部署选择的区域。
若要禁用区域建议消息,请将 Update-AzConfig
cmdlet 与 DisplayRegionIdentified 参数一起使用,如以下示例所示。
Update-AzConfig -DisplayRegionIdentified $false
有关 Azure 区域的详细信息,请参阅选择适合您的 Azure 区域
显示机密警告
默认情况下,Azure PowerShell 显示警告消息,从版本 12.0.0 开始,以帮助在命令输出中标识潜在机密时保护敏感信息。
在以下示例中,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
。
若要禁用永久性错误记录,请使用 Update-AzConfig
cmdlet 和 EnableErrorRecordsPersistence 参数,如以下示例所示。
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