验证 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 注册的步骤
打开一个提升的 PowerShell 提示符,然后运行以下命令来安装 AzsReadinessChecker:
Install-Module -Name Az.BootStrapper -Force -AllowPrerelease Install-AzProfile -Profile 2020-09-01-hybrid -Force Install-Module -Name Microsoft.AzureStack.ReadinessChecker
在 PowerShell 提示符下运行以下命令,将
$subscriptionID
设置为要使用的 Azure 订阅。 将xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
替换为你自己的订阅 ID:$subscriptionID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
在 PowerShell 提示符下,运行以下命令:
Connect-AzAccount -subscription $subscriptionID -Environment AzureChinaCloud
在 PowerShell 提示符下运行以下命令,开始验证订阅。 提供 Microsoft Entra 管理员和 Microsoft Entra 租户名称:
Invoke-AzsRegistrationValidation -RegistrationSubscriptionID $subscriptionID
运行该工具后,查看输出。 确认状态是否符合登录和注册要求。 验证成功时会显示类似于以下示例的输出:
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.log 和 AzsReadinessCheckerReport.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