Когда я пытаюсь использовать Powershell для создания одноранговой ссылки в Azure между виртуальными сетями в разных подписках, но в одном и том же клиенте, я получаю следующие сообщения об ошибках.
Без указания арендатора:
Set-AzureRmContext: укажите действующего арендатора или действующую подписку.
Итак, я попытался указать арендатора:
Get-AzureRmSubscription: подписка не найдена у арендатора ****. Пожалуйста, убедитесь, что подписка существует в этом арендаторе.
Я использую Jenkins с учетной записью root, которая имеет доступ к подписке dev. Я устанавливаю эти учетные данные, используя привязки принципала службы Microsoft Azure, до запуска задания.
Кто-нибудь знает, как я могу кодировать свой скрипт Powershell, чтобы конец Azure распознавал 2-й идентификатор подписки, к которому я пытаюсь подключиться?
Текущий код ниже.
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