Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save roberto-mardeni/194afbefb940499cfab56f1dbe5c31fd to your computer and use it in GitHub Desktop.
Save roberto-mardeni/194afbefb940499cfab56f1dbe5c31fd to your computer and use it in GitHub Desktop.
Get Azure Virtual Machine Power State with Azure SDK for .Net - CSHARP
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Compute.Models;
static async Task GetVirtualMachinesPowerStateAsync(string resourceGroupName, string virtualMachineName)
{
ArmClient client = new ArmClient(new DefaultAzureCredential());
SubscriptionResource subscription = await client.GetDefaultSubscriptionAsync();
ResourceGroupCollection resourceGroups = subscription.GetResourceGroups();
ResourceGroupResource resourceGroup = await resourceGroups.GetAsync(resourceGroupName);
VirtualMachineResource virtualMachine = await resourceGroup.GetVirtualMachineAsync(virtualMachineName);
if (virtualMachine != null)
{
VirtualMachineInstanceView vmIV = await virtualMachine.InstanceViewAsync();
InstanceViewStatus? status = vmIV.Statuses.FirstOrDefault(s => s.Code.StartsWith("PowerState"));
if (status != null)
{
Console.WriteLine($"{virtualMachine.Data.Name} is: {status.Code} - {status.DisplayStatus}");
}
}
}
await GetVirtualMachinesPowerStateAsync("vsonvm", "myvsvm");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment