Similar issue to this, with Azure for Students glitching when trying to create VMs.
None of the policy-allowed regions ( "spaincentral", "germanywestcentral", "polandcentral", "uaenorth", "swedencentral") appear in the GUI dropdown for selecting regions while creating a VM.
Meanwhile Cloud Shell gives me quota error messages for all of the allowed regions, even though I have 0 (zero) VMs deployed in my environment when I run the VM creation command.
- Bash does not manage to push through this policy mismatch
- az interactive does NOT manage to create anything (quota error, example below)
- New-AzVM command DOES manage to create VMs in some allowed regions, but with VERY limited parameters, I must be very careful what image I choose, and I must skip specifying size, so it picks up default Standard_D2s_v3. Example:
PS /home/emilia> New-AzVM -ResourceGroupName RGSpain -Name vm2 -Image "MicrosoftWindowsServer:WindowsServer:2022-datacenter:latest"
cmdlet New-AzVM at command pipeline position 1
Supply values for the following parameters:
Credential
User: Student
Password for user Student: ************
WARNING: Upcoming breaking changes in the cmdlet 'New-AzVM' :
The default VM size will change from 'Standard_D2s_v3' to 'Standard_D2s_v5'.
This change will take effect on '11/1/2025'
The change is expected to take effect in Az version : '15.0.0'
The change is expected to take effect in Az.Compute version : '11.0.0'
Note : Go to https://aka.ms/azps-changewarnings for steps to suppress this breaking change warning, and other information on breaking changes in Azure PowerShell.
You can reference https://aka.ms/findImagePS on how to find VM Images using PowerShell.
No Size value has been provided. The VM will be created with the default size Standard_D2s_v3.
ResourceGroupName : RGSpain
Id : /subscriptions/511d1cbf-aa62-44bd-89ef-c40f4d5e13e2/resourceGroups/RGSpain/providers/Microsoft.Compute/virtualMachines/vm2
VmId : 76e30c31-3f93-4d2b-bcba-260bde9f12ee
Name : vm2
Type : Microsoft.Compute/virtualMachines
Location : spaincentral
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
SecurityProfile : {SecurityType}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, Secrets, AllowExtensionOperations, RequireGuestProvisionSignal}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks, AlignRegionalDisksToVMZone}
FullyQualifiedDomainName : vm2-e60a10.spaincentral.cloudapp.azure.com
TimeCreated : 6/26/2026 5:21:24 PM
Etag : "2"
- az interactive gives the same quota error for each of the 5 allowed regions:
az>> az vm create --resource-group RGPoland --name VM1 --location polandcentral --image Win2022Datacenter
Admin Password:
Confirm Admin Password:
Consider upgrading security for your workloads using Azure Trusted Launch VMs. To know more about Trusted Launch, please visit https://aka.ms/TrustedLaunch.
The command failed with an unexpected error. Here is the traceback:
The content for this response was already consumed
Traceback (most recent call last):
File "/usr/lib64/az/lib/python3.12/site-packages/azure/cli/core/commands/init.py", line 789, in _run_job result = cmd_copy(params) ^^^^^^^^^^^^^^^^
File "/usr/lib64/az/lib/python3.12/site-packages/azure/cli/core/commands/init.py", line 335, in call return self.handler(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/az/lib/python3.12/site-packages/azure/cli/core/commands/command_operation.py", line 120, in handler return op(**command_args) ^^^^^^^^^^^^^^^^^^
File "/usr/lib64/az/lib/python3.12/site-packages/azure/cli/command_modules/vm/custom.py", line 1257, in create_vm LongRunningOperation(cmd.cli_ctx)(client.begin_create_or_update(resource_group_name, deployment_name, deployment)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/az/lib/python3.12/site-packages/azure/core/tracing/decorator.py", line 119, in wrapper_use_tracer return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/az/lib/python3.12/site-packages/azure/mgmt/resource/resources/v2024_11_01/operations/_operations.py", line 11281, in begin_create_or_update raw_result = self._create_or_update_initial( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/az/lib/python3.12/site-packages/azure/mgmt/resource/resources/v2024_11_01/operations/_operations.py", line 11174, in _create_or_update_initial raise HttpResponseError(response=response, error_format=ARMErrorFormat)
azure.core.exceptions.HttpResponseError: (InvalidTemplateDeployment) The template deployment 'vm_deploy_pKGxpImFjSUoITKq7PZuMnB1xUSw4in0' is not valid according to the validation procedure. The following resource provider(s) - 'Microsoft.Compute/virtualMachines (2025-04-01)' reported preflight validation errors. Tracking id is '3cadef46-3f62-4127-9ca1-a84d1acf2f17'. See inner errors for details.
Code: InvalidTemplateDeployment
Message: The template deployment 'vm_deploy_pKGxpImFjSUoITKq7PZuMnB1xUSw4in0' is not valid according to the validation procedure. The following resource provider(s) - 'Microsoft.Compute/virtualMachines (2025-04-01)' reported preflight validation errors. Tracking id is '3cadef46-3f62-4127-9ca1-a84d1acf2f17'. See inner errors for details.
Exception Details: (QuotaExceeded) Operation could not be completed as it results in exceeding approved standardDSv5Family Cores quota. Additional details - Deployment Model: Resource Manager, Location: PolandCentral, Current Limit: 0, Current Usage: 0, Additional Required: 2, (Minimum) New Limit Required: 2. Setup Alerts when Quota reaches threshold. Learn more at https://aka.ms/quotamonitoringalerting . Submit a request for Quota increase at https://aka.ms/ProdportalCRP/#blade/Microsoft_Azure_Capacity/UsageAndQuota.ReactView/Parameters/%7B%22subscriptionId%22:%22511d1cbf-aa62-44bd-89ef-c40f4d5e13e2%22,%22command%22:%22openQuotaApprovalBlade%22,%22quotas%22:[%7B%22location%22:%22PolandCentral%22,%22providerId%22:%22Microsoft.Compute%22,%22resourceName%22:%22standardDSv5Family%22,%22quotaRequest%22:%7B%22properties%22:%7B%22limit%22:2,%22unit%22:%22Count%22,%22name%22:%7B%22value%22:%22standardDSv5Family%22%7D%7D%7D%7D]%7D by specifying parameters listed in the ‘Details’ section for deployment to succeed. Please read more about quota limits at https://docs.microsoft.com/en-us/azure/azure-supportability/per-vm-quota-requests Code: QuotaExceeded Message: Operation could not be completed as it results in exceeding approved standardDSv5Family Cores quota. Additional details - Deployment Model: Resource Manager, Location: PolandCentral, Current Limit: 0, Current Usage: 0, Additional Required: 2, (Minimum) New Limit Required: 2. Setup Alerts when Quota reaches threshold. Learn more at https://aka.ms/quotamonitoringalerting . Submit a request for Quota increase at https://aka.ms/ProdportalCRP/#blade/Microsoft_Azure_Capacity/UsageAndQuota.ReactView/Parameters/%7B%22subscriptionId%22:%22511d1cbf-aa62-44bd-89ef-c40f4d5e13e2%22,%22command%22:%22openQuotaApprovalBlade%22,%22quotas%22:[%7B%22location%22:%22PolandCentral%22,%22providerId%22:%22Microsoft.Compute%22,%22resourceName%22:%22standardDSv5Family%22,%22quotaRequest%22:%7B%22properties%22:%7B%22limit%22:2,%22unit%22:%22Count%22,%22name%22:%7B%22value%22:%22standardDSv5Family%22%7D%7D%7D%7D]%7D by specifying parameters listed in the ‘Details’ section for deployment to succeed. Please read more about quota limits at https://docs.microsoft.com/en-us/azure/azure-supportability/per-vm-quota-requests
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib64/az/lib/python3.12/site-packages/azure/cli/core/commands/arm.py", line 109, in handle_template_based_exception raise CLIError(ex.inner_exception.error.message) ^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'error'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/emilia/.azure/cliextensions/interactive/azext_interactive/azclishell/app.py", line 908, in cli_execute result = invocation.execute(args) ^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/az/lib/python3.12/site-packages/azure/cli/core/commands/init.py", line 677, in execute raise ex
File "/usr/lib64/az/lib/python3.12/site-packages/azure/cli/core/commands/init.py", line 820, in _run_jobs_serially results.append(self._run_job(expanded_arg, cmd_copy)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/az/lib/python3.12/site-packages/azure/cli/core/commands/init.py", line 812, in _run_job return cmd_copy.exception_handler(ex) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/az/lib/python3.12/site-packages/azure/cli/core/commands/arm.py", line 112, in handle_template_based_exception raise_subdivision_deployment_error(ex.response.internal_response.text, ex.error.code if ex.error else None) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/az/lib/python3.12/site-packages/requests/models.py", line 928, in text if not self.content: ^^^^^^^^^^^^
File "/usr/lib64/az/lib/python3.12/site-packages/requests/models.py", line 899, in content raise RuntimeError("The content for this response was already consumed")
RuntimeError: The content for this response was already consumed
To check existing issues, please visit: https://github.com/Azure/azure-cli/issues
az>>
- Creating another tenant and transferring the subscription Azure for Students to another tenant (with a different location) makes no difference, and the 100$ budget 'disappears'; so I had to move it back to the original tenant.
- Trying to edit the policy for allowed regions is also restricted; otherwise a solution would have been to just update that policy with one of the regions that are actually showing in the GUI regions-dropdown for VM creation.
- The Quota lists for VMs in my allowed regions show yellow triangles with links to 'troubleshoot' - links that go nowhere.
I tried to request for quota, specifying the existing amount (4), got an error. The link to create a support ticket goes nowhere: 'Something went wrong. To refresh, close and reopen this blade, or use your browser's refresh button. If the issue persists, click here to contact support.'
I called Microsoft today, got to talk with a robot that understood NOTHING from what I was asking. Redirected me back online, where another robot thought I was talking about region settings in Windows, and explained how I can adjust that (facepalm). The only relevant thread I found was this one, which is not really fixing the problem.
AI is a VERY bad replacement for customer support.
Microsoft can pose as a hero for giving the 100$ azure budget to students, but there's little that can be used in practice, under these conditions; just wasting my study-time on figuring out workarounds for this nonsense.
Besides that, for a student who is never sure if they're doing it right, this kind of setup mismatch that generates endless errors is plain cruel, as beginners would rather struggle for many hours to understand what they did wrong before daring to conclude that the almighty Microsoft might have messed up.
Microsoft policies puzzle me; why put extra limitations on regions for VM creation (? based on tenant or other criteria?), when the Azure for Students subscription already restricts it to:
- 5 regions policy
- limited quota
- limited budget
The curious thing is that I do not experience the same challenges when trying to create other Azure resources (storage, apps, etc.) under the same subscription. My 5 regions show-up in the regions GUI dropdown list for creating other azure resources. Why are VMs treated differently?
Sharing some of the 'joy' from my experience with Microsoft and Azure for Students here, in the hope that maybe somebody someday decides to do something about this.





