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.