如何在 Azure 中启动虚拟机?

How to power on a VM in azure?

标题说明了一切。我尝试了很多东西,但我认为它们都不值得一提。我终于想出了避免 Microsoft.WindowsAzure 并安装了 Microsoft.Azure.Management.Compute 和 Microsoft.Azure.Common 库。

我终于得到了这样的身份验证令牌:

var authenticationContext = new AuthenticationContext("https://login.windows.net/deadbeef-beef-beef-beef-ec74557498e8");
var credential = new ClientCredential("beefbeef-beef-beef-beef-b1d3cf5d037d", "passwordpasswordpasswordpasswordpasswordpas=");
var result = authenticationContext.AcquireTokenAsync("https://www.url.com/servicename", credential);

但现在我正在努力使用文档来学习启动我的虚拟机。我什至不确定从哪里开始。我所知道的是我想避免使用 REST API 并将我的代码保留在 C# 中。我正在寻找类似的东西:

using (var client = new ComputeManagementClient(creds)) {
    foreach (var vm in client.VMs)
    {
        Console.WriteLine("Starting VM: {0}", vm.Name);

        vm.PowerOn();
    }
}

假设您正在处理基于 ARM 的虚拟机,下面是启动虚拟机的代码。 "context" 是 Microsoft.Azure.Management.Compute 命名空间下的 ComputeManagementClient

var result = VirtualMachinesOperationsExtensions.Start(context.VirtualMachines, azureResourceGroup, azureResourceName);

如果您正在处理经典 VM,这里是启动一个的代码。 "context" 是 Microsoft.WindowsAzure.Management.Compute 命名空间下的 ComputeManagementClient

var result = context.VirtualMachines.BeginStarting(serviceName, deploymentName,
                        instanceName);

您还可以避免编写自己的代码并对其进行监视以确保其正常工作并使用 CloudMonix 安排 Azure VM 的启动和关闭的所有麻烦。 (我隶属于该服务)