如何在 C# 中获得虚拟机操作系统?
How do you get a Virtual Machines operating system in c#?
我有一个 Azure 虚拟机,我正试图从中获取一些属性。我似乎无法获取 VM 的操作系统。当 VM 不是 运行 时这可能吗?
只需尝试下面的简单控制台应用程序:
using Microsoft.Azure.Management.Fluent;
using Microsoft.Azure.Management.ResourceManager.Fluent;
using System;
namespace fluentMgmtTest
{
class Program
{
static void Main(string[] args)
{
var AppId = "";
var AppSecret = "";
var tenant = "";
var subscriptionID = "";
var vmGroup = "";
var vmName = "";
var credentials = SdkContext.AzureCredentialsFactory.FromServicePrincipal(AppId, AppSecret, tenant, AzureEnvironment.AzureGlobalCloud);
var azure = Azure.Configure().Authenticate(credentials).WithSubscription(subscriptionID);
var vmID = "/subscriptions/" + subscriptionID + "/resourceGroups/" + vmGroup + "/providers/Microsoft.Compute/virtualMachines/" + vmName;
var vm = azure.VirtualMachines.GetById(vmID);
Console.WriteLine(vm.OSType);
}
}
}
结果:
注意:请确保您的 Azure AD 应用程序至少 assigned a role with read permission 在您 运行 此代码之前。
我有一个 Azure 虚拟机,我正试图从中获取一些属性。我似乎无法获取 VM 的操作系统。当 VM 不是 运行 时这可能吗?
只需尝试下面的简单控制台应用程序:
using Microsoft.Azure.Management.Fluent;
using Microsoft.Azure.Management.ResourceManager.Fluent;
using System;
namespace fluentMgmtTest
{
class Program
{
static void Main(string[] args)
{
var AppId = "";
var AppSecret = "";
var tenant = "";
var subscriptionID = "";
var vmGroup = "";
var vmName = "";
var credentials = SdkContext.AzureCredentialsFactory.FromServicePrincipal(AppId, AppSecret, tenant, AzureEnvironment.AzureGlobalCloud);
var azure = Azure.Configure().Authenticate(credentials).WithSubscription(subscriptionID);
var vmID = "/subscriptions/" + subscriptionID + "/resourceGroups/" + vmGroup + "/providers/Microsoft.Compute/virtualMachines/" + vmName;
var vm = azure.VirtualMachines.GetById(vmID);
Console.WriteLine(vm.OSType);
}
}
}
结果:
注意:请确保您的 Azure AD 应用程序至少 assigned a role with read permission 在您 运行 此代码之前。