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.

You May Also Like…

MacOS USB Creator

Just toasted my Windows 10 Pro install with a Windows 11 upgrade. Think it will be unrecoverable (because of Bitlocker...