更改 Azure Stack Hub 用户订阅的计费所有者

Azure Stack Hub 操作员可以使用 PowerShell 更改用户订阅的计费所有者。 例如,更改所有者的一个原因是替换已离职的用户。

会将两种类型的所有者分配到订阅:

  • 计费所有者:默认情况下,计费所有者是从套餐获取订阅,然后拥有该订阅的计费关系的用户帐户。 此帐户也是订阅的管理员。 在一个订阅中,只能指定一个此类用户帐户。 计费所有者通常是组织或团队主管。

    可以使用 PowerShell cmdlet Set-AzsUserSubscription 更改计费所有者。

  • 通过 RBAC 角色添加的所有者 - 可以使用基于角色的访问控制 (RBAC) 向其他用户授予所有者角色。 可将任意数量的其他用户帐户添加为所有者,以补充计费所有者。 其他所有者也是订阅的管理员,拥有订阅的所有特权,但无权删除计费所有者。

    可以使用 PowerShell 来管理其他所有者。 有关详细信息,请参阅此文章

更改计费所有者

运行以下脚本更改用户订阅的计费所有者。 用于运行该脚本的计算机必须连接到 Azure Stack Hub 并运行 Azure Stack Hub PowerShell 模块 1.3.0 或更高版本。 有关详细信息,请参阅安装 Azure Stack Hub PowerShell

注意

在多租户 Azure Stack Hub 中,新所有者必须与现有所有者位于同一目录中。 在将订阅所有权提供给另一个目录中的某个用户之前,必须首先邀请该用户作为来宾加入目录

运行脚本之前,请替换脚本中的以下值:

  • $ArmEndpoint:环境的资源管理器终结点。
  • $TenantId:租户 ID。
  • $TenantSubscriptionId:你的订阅 ID。
  • $OwnerUpn:要添加为新账单所有者的帐户,例如 user@example.com
# Set up Azure Stack Hub admin environment
Add-AzEnvironment -ARMEndpoint $ArmEndpoint -Name AzureStack-admin
Connect-AzAccount -Environment AzureStack-admin -TenantId $TenantId

# Select admin subscription
$providerSubscriptionId = (Get-AzSubscription -SubscriptionName "Default Provider Subscription").Id
Write-Output "Setting context to the Default Provider Subscription: $providerSubscriptionId"
Set-AzContext -Subscription $providerSubscriptionId

# Change user subscription owner
$subscription = Get-AzsUserSubscription -TargetSubscriptionId $TenantSubscriptionId
$Subscription.Owner = $OwnerUpn
$Subscription | Set-AzsUserSubscription | fl *

注意

如果会话过期、密码已更改,或者你只是想要切换帐户,请在使用 Connect-AzAccount 登录之前运行以下 cmdlet:Remove-AzAccount -Scope Process

后续步骤