可以使用 PowerShell 连接到 Azure Stack Hub 以管理 Azure Stack Hub 资源。 例如,可以使用 PowerShell 订阅产品/服务、创建虚拟机(VM)和部署 Azure 资源管理器模板。
在开始之前,请确保满足以下先决条件:
- 使用 Microsoft Entra ID 或 Active Directory 联合身份验证服务(AD FS)进行连接。
- 注册资源提供程序。
- 测试连接。
如果通过 VPN 连接,请从基于 Windows 的外部客户端配置这些先决条件。
请确保将以下脚本变量替换为 Azure Stack Hub 配置中的值:
-
Microsoft Entra 租户名称:用于管理 Azure Stack Hub 的 Microsoft Entra 租户的名称。 例如,
yourdirectory.partner.onmschina.cn
。 - Azure 资源管理器终结点:若要获取 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
# 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"
- 开发 Azure Stack Hub 模板
- 使用 PowerShell 部署模板
- Azure Stack Hub PowerShell 模块参考
- 若要为云作员环境设置 PowerShell,请参阅 配置 Azure Stack Hub作员的 PowerShell 环境 一文。