Azure Instance Metadata Service – Windows is case-insensitive and Linux case-sensitive

Written by James McDonald

September 7, 2019

When calling to a Resource manager API from Windows and Linux there are some differences to the URL. Just got caught with this because of a copy and paste from one to another.

Windows with lower case “resourcegroups” works

(Invoke-WebRequest -Uri<SUBSCRIPTION ID>/resourcegroups/Toggen-VM?api-version=2016-06-01 -Method GET -ContentType "application/json" -Headers @{ Authorization ="Bearer $ArmToken"}).content

Linux with camelcased “resourceGroups”

curl<SUBSCRIPTION ID>/resourceGroups/Toggen-VM?api-version=2016-09-01 -H "Authorization: Bearer ${ACCESS_TOKEN}"

Incidentally to get a token

There doesn’t seem to be a simple power shell command to get a token… You can make a more complex rest call but the following is the easiest. IMHO

az account get-access-token


Submit a Comment

Your email address will not be published. Required fields are marked *

You May Also Like…

Test your AV client with Eicar is a special file that is NOT malicious (if gotten from the right place) it is simply a text file with a...