验证 Azure 注册

开始 Azure Stack Hub 部署之前,使用 Azure Stack Hub 就绪性检查器工具 (AzsReadinessChecker) 验证 Azure 订阅是否已准备好与 Azure Stack Hub 配合使用。 就绪性检查器会验证下列项:

  • 你使用的 Azure 订阅是受支持的类型。 订阅必须是云解决方案提供商 (CSP) 或企业协议 (EA)。
  • 用来向 Azure 注册订阅的帐户可以登录到 Azure 并且是订阅所有者。

有关 Azure Stack Hub 注册的详细信息,请参阅向 Azure 注册 Azure Stack Hub

获取就绪性检查器工具

PowerShell 库下载最新版本的 AzsReadinessChecker

安装和配置

必备条件

需要以下先决条件:

Az PowerShell 模块

将需要安装 Az PowerShell 模块。 有关说明,请参阅安装 PowerShell Az 预览版模块

Microsoft Entra 环境

  • 标识将与 Azure Stack Hub 配合使用的帐户的用户名和密码,该帐户必须是 Azure 订阅所有者。
  • 标识将使用的 Azure 订阅的订阅 ID。

验证 Azure 注册的步骤

  1. 打开一个提升的 PowerShell 提示符,然后运行以下命令来安装 AzsReadinessChecker

    Install-Module -Name Az.BootStrapper -Force -AllowPrerelease
    Install-AzProfile -Profile 2020-09-01-hybrid -Force
    Install-Module -Name Microsoft.AzureStack.ReadinessChecker
    
  2. 在 PowerShell 提示符下运行以下命令,将 $subscriptionID 设置为要使用的 Azure 订阅。 将 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 替换为你自己的订阅 ID:

    $subscriptionID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    
  3. 在 PowerShell 提示符下,运行以下命令:

    Connect-AzAccount -subscription $subscriptionID -Environment AzureChinaCloud
    
  4. 在 PowerShell 提示符下运行以下命令,开始验证订阅。 提供 Microsoft Entra 管理员和 Microsoft Entra 租户名称:

    Invoke-AzsRegistrationValidation  -RegistrationSubscriptionID $subscriptionID
    
  5. 运行该工具后,查看输出。 确认状态是否符合登录和注册要求。 验证成功时会显示类似于以下示例的输出:

    Invoke-AzsRegistrationValidation v1.2100.1448.484 started.
    Checking Registration Requirements: OK
    
    Log location (contains PII): C:\Users\[*redacted*]\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessChecker.log
    Report location (contains PII): C:\Users\[*redacted*]\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessCheckerReport.json
    Invoke-AzsRegistrationValidation Completed
    

报表和日志文件

每次运行验证时,它都会将结果记录到 AzsReadinessChecker.logAzsReadinessCheckerReport.json 中。 这些文件的位置会随验证结果一起显示在 PowerShell 中。

这些文件可以帮助你在部署 Azure Stack Hub 之前共享验证状态,或者调查验证问题。 这两个文件都会持久保留每个后续验证检查的结果。 报表向你的部署团队提供标识配置确认。 日志文件可以帮助你的部署或支持团队调查验证问题。

这两个文件默认写入到 C:\Users\username\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessCheckerReport.json

  • 在运行命令行的末尾使用 -OutputPath <path> 参数来指定不同的报表位置。
  • 在运行命令的末尾使用 -CleanReport 参数从 AzsReadinessCheckerReport.json 中清除有关以前运行此工具的相关信息。

有关详细信息,请参阅 Azure Stack Hub 验证报告

验证失败

如果验证检查失败,则有关失败的详细信息将显示在 PowerShell 窗口中。 该工具还会将信息记录到 AzsReadinessChecker.log 文件中。

以下示例提供了有关常见验证失败的更多信息。

用户必须是订阅所有者

Invoke-AzsRegistrationValidation v1.1809.1005.1 started.
Checking Registration Requirements: Fail
Error Details for registration account admin@contoso.partner.onmschina.cn:
The user admin@contoso.partner.onmschina.cn is role(s) Reader for subscription 3f961d1c-d1fb-40c3-99ba-44524b56df2d. User must be an owner of the subscription to be used for registration.
Additional help URL https://aka.ms/AzsRemediateRegistration

Log location (contains PII): C:\Users\username\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessChecker.log
Report location (contains PII): C:\Users\username\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessCheckerReport.json
Invoke-AzsRegistrationValidation Completed

原因 - 帐户不是 Azure 订阅的管理员。

解决方法 - 使用要根据 Azure Stack Hub 部署中的资源使用量而被收费的 Azure 订阅的管理员帐户。

过期的或临时密码

Invoke-AzsRegistrationValidation v1.1809.1005.1 started.
Checking Registration Requirements: Fail
Error Details for registration account admin@contoso.partner.onmschina.cn:
Checking Registration failed with: Retrieving TenantId for subscription [subscription ID] using account admin@contoso.partner.onmschina.cn failed with AADSTS50055: Force Change Password.
Trace ID: [Trace ID]
Correlation ID: [Correlation ID]
Timestamp: 2018-10-22 11:16:56Z: The remote server returned an error: (401) Unauthorized.

Log location (contains PII): C:\Users\username\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessChecker.log
Report location (contains PII): C:\Users\username\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessCheckerReport.json
Invoke-AzsRegistrationValidation Completed

原因 - 因为密码已过期或者是临时的,所以帐户无法登录。

解决方法 - 在 PowerShell 中运行以下命令,然后根据提示来重置密码。

Login-AzureRMAccount -EnvironmentName AzureChinaCloud

另一种方法是以帐户所有者身份登录到 Azure 门户,强制用户更改密码。

未知用户类型

Invoke-AzsRegistrationValidation v1.1809.1005.1 started.
Checking Registration Requirements: Fail
Error Details for registration account admin@contoso.partner.onmschina.cn:
Checking Registration failed with: Retrieving TenantId for subscription <subscription ID> using <account> failed with unknown_user_type: Unknown User Type

Log location (contains PII): C:\Users\username\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessChecker.log
Report location (contains PII): C:\Users\username\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessCheckerReport.json
Invoke-AzsRegistrationValidation Completed

原因 - 帐户无法登录到指定的 Microsoft Entra 环境。 在本例中,将 AzureChinaCloud 指定为了 AzureEnvironment

解决方法 - 确认帐户对指定的 Azure 环境有效。 在 PowerShell 中运行以下命令,验证帐户对特定环境是否有效:

Login-AzureRmAccount -EnvironmentName AzureChinaCloud

后续步骤