【发布时间】:2019-08-24 00:10:36
【问题描述】:
当我尝试使用 Powershell 在 Azure 中建立对等链接时,在不同订阅但在同一租户中的 vnet 之间,我收到以下错误消息。
不指定租户:
Set-AzureRmContext : 请提供有效的租户或有效的订阅。
所以我尝试指定租户:
Get-AzureRmSubscription:在租户 **** 中找不到订阅。请验证该租户中是否存在订阅。
我将 Jenkins 与可以访问开发订阅的 root 帐户一起使用。在作业运行之前,我正在使用 Microsoft Azure 服务主体绑定设置这些凭据。
有谁知道我可以如何编写我的 Powershell 脚本,以便 Azure 端识别我尝试对等的第二个订阅 ID?
当前代码如下。
Write-Host "Create Vnet Peering from dev-vnet to test-centralhub-vnet"
$Subscription1 = Get-AzureRmSubscription -TenantId '(sanitised for Stackoverflow)' -SubscriptionId '(sanitised for Stackoverflow)'
Set-AzureRmContext -Subscription $subscription1
$Vnet1 = Get-AzureRmVirtualNetwork -name 'test-centralhub-vnet' -ResourceGroupName 'test-networks-hub-rg'
$Subscription2 = Get-AzureRmSubscription -TenantId '(sanitised for Stackoverflow)' -SubscriptionId '(sanitised for Stackoverflow)'
Set-AzureRmContext -Subscription $Subscription2
$Vnet2 = Get-AzureRmVirtualNetwork -name 'dev-vnet' -ResourceGroupName 'networks-dev-rg'
Set-AzureRmContext -Subscription '(sanitised for Stackoverflow)'
Add-AzureRmVirtualNetworkPeering -Name 'dev-vnet_to_test-centralhub-vnet' -VirtualNetwork $Vnet2 -RemoteVirtualNetworkId $Vnet1.ID -UseRemoteGateways
【问题讨论】:
-
通常,该错误表明您没有该订阅的权限。你确定你可以访问这两个潜艇吗?
标签: azure powershell jenkins cloud