У меня есть активная подписка на Azure для некоммерческих организаций, привязанная к учетной записи Microsoft «личного» типа. Я успешно загрузил обобщенный VHD на учетную запись хранилища (используя команды в комментариях к приведенному ниже сценарию), и теперь я пытаюсь развернуть виртуальную машину на основе этого шаблона.Ошибка в работе Powershell New-AzureRmVm с использованием преимущества гибридного использования
Каждый раз, когда я запускаю следующий сценарий, он выдает ошибку и умирает на последнюю строку с ошибкой
New-AzureRmVM : The requested tier for resource '/subscriptions/<removed>/resourceGroups/CCo
FRockResourceGroup/providers/Microsoft.Compute/virtualMachines/CCoFRockIIS' is currently not available in location
'West US' for subscription '<removed>'. Please try another tier or deploy to a different
location.
ErrorCode: SkuNotAvailable
ErrorMessage: The requested tier for resource '/subscriptions/<removed>/resourceGroups/CCoFR
ockResourceGroup/providers/Microsoft.Compute/virtualMachines/CCoFRockIIS' is currently not available in location 'West
US' for subscription '<removed>'. Please try another tier or deploy to a different location.
StatusCode: 409
ReasonPhrase: Conflict
OperationID : 8d2f838c-56c4-4237-ad5e-19357e525e17
At CreateAzureIISServer.ps1:35 char:1
+ New-AzureRmVM -ResourceGroupName $resourceGroupName -Location $locati ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [New-AzureRmVM], ComputeCloudException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.Compute.NewAzureVMCommand
Я попытался множественный VM sizes- Я не думаю, что это то, что он имеет в виду ,
В другой точке данных, на основе другого сценария, когда я бегу Add-AzureVmImage, он говорит мне
add-azurevmimage : BadRequest: The storage account with the name ccofrockstorageaccount as specified in the VHD URI
https://ccofrockstorageaccount.blob.core.windows.net/ccofrockcontainer/CCoFBoilerplate.vhd does not exists in the
current subscription <removed>.
OperationID : 'a41daf3cfba33eceb34e51d1dcc49e8d'
At line:1 char:1
+ add-azurevmimage -imagename "CCoFBoilerplate" -MediaLocation "https://ccofrockst ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [Add-AzureVMImage], ComputeCloudException
+ FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.DiskRepository.AddAzureVMImage
Несмотря на то, когда я бегу Add-AzureAccount и Get-AzureRmSubscription, они возвращают правильный SubscriptionId - тот же идентификатор, что и моя учетная запись хранилища, используя Azure Web Portal.
Вот сценарий, который я использую, чтобы попробовать добавить эту виртуальную машину. Может ли кто-нибудь помочь мне выяснить, почему сценарий задыхается? Я подозреваю, что проблема связана с использованием «персонального» типа MS-учетной записи, а не корпоративного типа, но я могу ошибаться. Обратите внимание, что для команды get-credential я предоставляю уникальные (несуществующие) учетные данные, которые, как я полагаю, должны быть логином пользователя на новом сервере. В двух других случаях мне предлагается войти в систему, я использую свои «личные» учетные данные MSA, и это указывает на то, что она «перенаправляет меня на вход в учетную запись Microsoft», как и ожидалось. Благодаря
$cred = Get-Credential
$location = "West US"
$resourceGroupName = "CCoFRockResourceGroup"
$containerName = "ccofrockcontainer"
$publicIPName = "CCoFRockPublicIP"
$subnetName = "CCoFRockSubnet"
$nicName = "CCoFRockIISPublic"
$vnetName = "CCoFRockVnet"
$vmName = "CCoFRockIIS"
$computerName = "CCoFRockIIS"
$osDiskName = "CCoFRockIIS.vhd"
$templateDiskName = "CCoFBoilerplate.vhd"
$vmSize = "Standard_D2_v2"
$storageAccountName = "ccofrockstorageaccount"
$urlOfUploadedImageVhd = "https://$storageAccountName.blob.core.windows.net/$containerName/$templateDiskName"
add-azureaccount
Login-AzureRmAccount
##########
#get-azurermsubscription
#select-azurermsubscription -subscriptionid <removed>#new-azurermresourcegroup -name $resourceGroupName -Location $location
#new-azurermstorageaccount -resourcegroupname $resourceGroupName -name $storageAccountName -Location $location -SkuName "Standard_LRS" -Kind "Storage"
#Add-AzureRmVhd -ResourceGroupName $resourceGroupName -Destination "https://$storageAccountName.blob.core.windows.net/$containerName/$templateDiskName" -LocalFilePath "Azure2016.vhd"
##########
$publicIP = New-AzureRmPublicIpAddress -Name $publicIPName -ResourceGroupName $resourceGroupName -Location $location -AllocationMethod Static
$subnetconfig = New-AzureRmVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix 10.0.0.0/8
$vnet = New-AzureRmVirtualNetwork -Name $vnetName -ResourceGroupName $resourceGroupName -Location $location -AddressPrefix 10.0.0.0/8 -Subnet $subnetconfig
$nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $resourceGroupName -Location $location -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $publicIP.Id
$vmConfig = New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize
$vm = Set-AzureRmVMOperatingSystem -VM $vmConfig -Windows -ComputerName $computerName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate
$vm = Add-AzureRmVMNetworkInterface -VM $vm -Id $nic.Id
$storageAcc = Get-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -AccountName $storageAccountName
$osDiskUri = '{0}vhds/{1}{2}.vhd' -f $storageAcc.PrimaryEndpoints.Blob.ToString(), $vmName.ToLower(), $osDiskName
$vm = Set-AzureRmVMOSDisk -VM $vm -Name $osDiskName -VhdUri $osDiskUri -CreateOption FromImage -SourceImageUri $urlOfUploadedImageVhd -Windows
New-AzureRmVM -ResourceGroupName $resourceGroupName -Location $location -VM $vm -LicenseType Windows_Server