2017-02-13 8 views
0

Azure RMを使用して作成したVMでpowershellスクリプトを実行しようとしています。私は残りのAPIを使用してVMを作成するC#プログラムを作成しましたが、VM上でスクリプトを実行して適切に構成する必要があります。 I found this link that shows what to send 拡張機能を作成しようとすると、Provisioning State of Failedが発生し、スクリプトは実行されません。Azure RMサーバーでスクリプトを実行

私はハイパーバイザーがスクリプトをダウンロードできないが、ハイパーバイザーからエラーメッセージを受け取ることができないと思うし、渡しているJSONに何が問題なのか分からないハイパーバイザー。

は、ここで私は

string body = 
      "{                                 " + 
      $" \"type\" : \"Microsoft.Compute/virtualMachines/extensions\",                 " + 
      $" \"name\" : \"{extensionName}\",                        " + 
      " \"location\" : \"eastus\",                         " + 
      " \"tags\": {                             " + 
      $"  \"displayName\": \"{extensionName}\"                      " + 
      "  },                               " + 
      " \"properties\": {                            " + 
      "  \"publisher\": \"Microsoft.Azure.Extensions\",                   " + 
      "  \"type\": \"CustomScript\",                        " + 
      "  \"typeHandlerVersion\": \"2.0\",                       " + 
      "  \"autoUpgradeMinorVersion\": true,                      " + 
      "  \"settings\": {                           " + 
      $"   \"fileUris\": [ \"https://{storageAccountName}.file.core.windows.net/scripts/TestScript1.ps1\", ],     " +    
      "  },                              " + 
      "  \"protectedSettings\": {                         " + 
      "   \"commandToExecute\": \"PowerShell.exe -ExecutionPolicy Unrestricted -File TestScript1.ps1\",       " + 
      $"   \"storageAccountName\": \"{storageAccountName}\",                  " + 
      $"   \"storageAccountKey\": \"{storageAccountAccessKey}\" " + 
      "   }                              " + 
      "  }                               " + 
      "}                                 " + 
      ""; 

カスタムスクリプト拡張を作成するために送信していますJSONは、ここで私は私がインストールするには、同様の手法を使用しています

https://management.azure.com/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroup}/providers/Microsoft.Compute/virtualMachines/{serverName}/extensions/{extensionName}?api-version=2017-03-30 

答えて

0

にPUTをやっているURLですです。 net 4.6などをService Fabric Virtual Machine Scale Set(しかし、jsonテンプレートから)に置き換えます。だから、

... 
"properties": { 
    "publisher": "Microsoft.Compute", 
    "type": "CustomScriptExtension", 
    "typeHandlerVersion": "1.7", 
    "autoUpgradeMinorVersion": false, 
    "settings": { 
     "fileUris": [ 
      "https://gist.githubusercontent.com/DenisPitcher/d06c6cbc64765c1eb7e8c731964f2a5e/raw/6c2b87aa3e825950ad61b368490b8862f9345856/InstallNetFx46.ps1" 
     ], 
     "commandToExecute": "powershell.exe -ExecutionPolicy Unrestricted -File InstallNetFx46.ps1" 
    }, 
    "forceUpdateTag": "RerunExtension" 
}, 
"name": "CustomScriptExtensionInstallNet46" 
... 

、違いは何ですか:

  • 私が代わりにあなたのCustomScript
  • のタイプCustomScriptExtensionを使用しています私が直接設定

下しかし、いずれにしてもcommandToExecuteを持っています、 で、エラーはhttps://resources.azure.com/になるはずです。

+0

あなたが提案した変更を加えましたが、私はまだ同じエラーが発生しています – Rossini

+0

https://resources.azure.comでリソースを見つけたときに表示されるエラーは何ですか? –

+0

さらに、C:\ Packages \ Plugins \ Microsoft.Compute.CustomScriptExtension \ 1.7 \にさらに情報が見つからない場合は、VMのログ(C:\ WindowsAzure \ Logs \ Plugins)ステータスは、スクリプトよりも拡張に関するものです。 –

関連する問題