以用户身份使用 PowerShell 连接到 Azure Stack Hub

可以使用 PowerShell 连接到 Azure Stack Hub 以管理 Azure Stack Hub 资源。 例如,可以使用 PowerShell 来订阅产品/服务、创建虚拟机 (VM) 和部署 Azure 资源管理器模板。

若要进行设置,请执行以下操作:

  • 确保满足要求。
  • 与 Microsoft Entra ID 或 Active Directory 联合身份验证服务 (AD FS) 连接。
  • 注册资源提供程序。
  • 测试连接。

使用 PowerShell 进行连接的先决条件

如果已通过 VPN 建立连接,请通过开发工具包或基于 Windows 的外部客户端配置这些先决条件:

确保将以下脚本变量替换为 Azure Stack Hub 配置中的值:

  • Microsoft Entra 租户名
    用于管理 Azure Stack Hub 的 Microsoft Entra 租户名称。 例如,yourdirectory.partner.onmschina.cn。
  • Azure 资源管理器终结点
    对于 Azure Stack 开发工具包,此值设置为 https://management.local.azurestack.external 。 若要为 Azure Stack Hub 集成系统获取此值,请与服务提供商联系。

使用 Microsoft Entra ID 连接到 Azure Stack Hub

    Add-AzEnvironment -Name "AzureStackUser" -ArmEndpoint "https://management.local.azurestack.external"
    # Set your tenant name
    $AuthEndpoint = (Get-AzEnvironment -Name "AzureStackUser").ActiveDirectoryAuthority.TrimEnd('/')
    $AADTenantName = "<myDirectoryTenantName>.partner.onmschina.cn"
    $TenantId = (invoke-restmethod "$($AuthEndpoint)/$($AADTenantName)/.well-known/openid-configuration").issuer.TrimEnd('/').Split('/')[-1]

    # After signing in to your environment, Azure Stack Hub cmdlets
    # can be easily targeted at your Azure Stack Hub instance.
    Connect-AzAccount -EnvironmentName "AzureStackUser" -TenantId $TenantId

使用 AD FS 连接到 Azure Stack Hub

# Register an Azure Resource Manager environment that targets your Azure Stack Hub instance
Add-AzEnvironment -Name "AzureStackUser" -ArmEndpoint "https://management.local.azurestack.external"

# Sign in to your environment
Connect-AzAccount -EnvironmentName "AzureStackUser"

注册资源提供程序

不会自动为没有通过门户部署任何资源的新用户订阅自动注册资源提供程序。 可以通过运行以下脚本显式注册资源提供程序:

foreach($s in (Get-AzSubscription)) {
        Select-AzSubscription -SubscriptionId $s.SubscriptionId | Out-Null
        Write-Progress $($s.SubscriptionId + " : " + $s.SubscriptionName)
Get-AzResourceProvider -ListAvailable | Register-AzResourceProvider
    }

注意

AD FS 仅支持通过用户标识进行交互式身份验证。 如果需要凭据对象,则必须使用服务主体 (SPN)。 若要详细了解如何在设置服务主体时将 Azure Stack Hub 和 AD FS 作为标识管理服务,请参阅管理 AD FS 应用标识

测试连接

完成所有设置后,请通过使用 PowerShell 在 Azure Stack Hub 中创建资源来测试连接。 作为测试,为应用程序创建资源组并添加 VM。 运行以下命令创建名为“MyResourceGroup”的资源组:

New-AzResourceGroup -Name "MyResourceGroup" -Location "Local"

后续步骤