2016-05-21 14 views
0

私のプログラムでは、azure VMを起動および停止できるようにしたいと考えています。私はVMの起動と停止を行うpowershellスクリプトを書いていましたが、私はC#から直接行っています(つまり、powershellスクリプトを呼び出さずに実行したいのですが、私はこの変換を行う方法を見つけることができませんでした。ヘルプ。azure vmの起動/停止によるプログラム制御

ここでは主な障害は、であるPowerShellスクリプト 関数stopvm($ resourcegroup、$ VMNAME) {ストップAzureRmVM -ResourceGroup $ resourcegroup -Name $ VMNAME }

function startvm($resourcegroup,$vmname) 
{ 
    Start-AzureRmVM -ResourceGroup $resourcegroup -Name $vmname 
} 

################################################################ 
# Please Change These Variables to Suit Your Environment 
# 


$subscriptionname = "Subscription Name" 
$resourcegroup = "Resource Group Name" 
$vmname = "VM name" 

################################################################ 

Login-AzureRmAccount -SubscriptionName $subscriptionname 
write-host "Choose the options to Start and Stop your Azure VMS" 
    write-host "1. Start VM" 
    write-host "2. Stop VM" 
$answer = read-host "Please Select Your Choice" 

Switch($answer) 
{ 
    1{ StartVM $resourcegroup $vmname} 
    2{ StopVM $resourcegroup $vmname} 
} 

ありますLogin-AzureRmのC#翻訳を見つける

はここ

答えて

0
事前に

をありがとう、あなたのVMを起動するために使用できるコードです:

 AuthenticationContext context = new AuthenticationContext("[OAUTH2 AUTHORIZATION ENDPOINT]"); 

     UserCredential userCred = new UserCredential("[CO-ADMINISTRATOR E-MAIL]", "[CO-ADMINISTRATOR PASSWORD]"); 

     AuthenticationResult result = context.AcquireTokenAsync("https://management.core.windows.net/", "[APPLICATION CLIENT ID]", userCred).Result; 

     TokenCloudCredentials credentials = new TokenCloudCredentials("[SUBSCRIPTION ID]", result.AccessToken); 

     using (ComputeManagementClient computeClient = new ComputeManagementClient(credentials)) 
     { 
      computeClient.VirtualMachines.Start("[CLOUD SERVICE NAME]", "[DEPLOYMENT NAME]", "[VM NAME]"); 
     } 

EDIT:

これは、次のNuGetパッケージをインストールする必要があります:

Microsoft.WindowsAzure.Management.Compute

+1

Nugetパッケージを共有して、これらのAPIがどこにあるのかを –

+0

@FrankQにすることができればいいですね。 - 良い点、2つが必要です。 1つはAADによる認証用で、もう1つはサービス管理SDKでの認証用です。 –

+0

お返事ありがとうございます!残念ながら、まだ動作していません。電子メールとパスワードの入力を促したいと思います(特に私の組織では、2つの認証形式を使用していますが、TFSにログインするときにVisual Studioにあるものと同様のエクスペリエンスを促す必要があります)。現在、「AADSTS50079:強力な認証登録(プルーフアップ)が必要です」というエラーメッセージが表示されます。資格情報を要求することはありません。 –

関連する問題