Edi Wang

Microsoft MVP for Azure

VM

Query Public IP Addresses of Azure VMs Across All Subscriptions with Azure Resource Graph

Azure VMs do not store public IP address information directly on the VM resource. Instead, the public IP address is linked through the VM’s network interface and IP configuration. This makes manual checking slow and error-prone. In this post, I’ll show how to use Azure Resource Graph to query all Azure virtual machines with public IP addresses across multiple subscriptions. The query returns useful details such as the VM name, public IP address, public IP SKU, allocation method, and IP version.
Azure VM kusto

How to Run Windows XP and Windows 2000 VM on Azure in 2024

Microsoft Azure does not officially provide Windows XP images for the creation of virtual machines. The earliest version of a client OS image available on Azure is Windows 7. Despite this, I have devised a method to operate legacy Windows operating systems, including Windows XP, on the current Azure compute platform. In this blog post, I will outline the steps involved in this process in detail.
Azure VM

How to Check If Code Is Running on Azure VM

An application needs to know if itself is running in Azure VM, so that it can apply special logic and optimization for Azure. You can check if your code is running on an Azure VM by querying the Azure Instance Metadata Service. This service provides information about running virtual machine instances that can be accessed from within the VM.
Azure VM

Setup Hyper-V Server 2019 in My Home PC

I recently bought a HP 800G2 PC for 200 RMB from my company. I decided to use it to host VMs for my tech experiments. Having VMs running in home LAN gives me advantages over remote connection to Azure datacenters, which I would typically use. I ended up installing Hyper-V Server 2019 on the machine and deployed an Ubuntu Server VM and a Windows 10 VM. In this post, I will share the process …
Windows VM Hyper-V

How to Run Cloud Init YAML with Azure Bicep when Creating VM

Problem Azure document for "Create an Ubuntu Linux virtual machine using a Bicep file" did not show how to use custom data to run cloud init yaml file when creating VM. After work 996, I finally figured out the undocumented method to run a cloud init yaml file with Azure Bicep. Let's see how to do it. Solution Create a YAML file for cloud init Create a YAML file in the location where your …
Azure VM Linux

Fix Azure Ubuntu Virtual Machine Agent Status is Not Ready Problem

One of my Azure VM running Ubuntu 22.04 LTS suddenly gives a warning message " virtual machine agent status is not ready. Troubleshoot the issue". I recently did some updates and cleaned up the system, it seems the VM agent was destroyed. I've fixed the issue and would like to share the solution. …
Azure VM

Testing Network Speed Between Azure China and Azure Global for B1s VM

Some businesses choose to deploy their systems across both Azure China and Azure Global. For these systems to function effectively, it is crucial that their communication over the internet performs well. To assess the current state of the network between Azure China and Azure Global, I conducted a series of tests and would like to share the results.
Azure VM Network

How to Restore Connection After Accidentally Disabled NIC on Azure VM

Normally, we uses cloud based VMs through SSH or RDP, so a network connection is necessary for connecting to the VM. But what if you accidentally disabled the NIC on your cloud VM? You may want to call Azure Support or find a previous snapshot for restoring VM. That's not necessary! Azure can help you restore your NIC by yourself in a few steps. Experiment I created a Windows Server 2019 VM on …
Azure VM

Use Azure Function to Schedule Auto Start for VMs

VMs on the Microsoft Azure platform can be configured to automatically shut down by schedule. However, currently only VMs in the DevTest Lab service can be powered on automatically. Regular VMs have not been updated with the auto start capability. But still, we can take advantage of Azure Function V3 and PowerShell Core to start the VM by timed schedule. The Idea I have wrote a post 6 year ago …
Azure PowerShell VM Azure Function

Setup Experimental Machines with Azure DevTest Lab

Programmers and test engineers always need to set up their own environments for development and testing purposes, and these machines may only be in use for a short period of time. Typically, we use virtual machine products such as Hyper-V and VMWare on the local machine, or we use virtual machines assigned by enterprise IT administrators to do the work. However, installing and managing these VMs …
Azure VM Lab Services