title: Azure VM extension update failure
body: <p>I tried to add a custom script to VM through extensions. I have observed that when vm is created, Microsoft.Azure.Extensions.CustomScript type is created with name "cse-agent" by default. So I try to update extension by encoding the file with script property</p>
  
  <pre><code>  az vm extension set \
    --resource-group test_RG \
    --vm-name aks-agentpool \
    --name CustomScript \
    --subscription ${SUBSCRIPTION_ID} \
    --publisher Microsoft.Azure.Extensions \
    --settings '{"script": "'"$value"'"}'
  </code></pre>
  
  <p>$value represents the script file encoded in base 64.</p>
  
  <p>Doing that gives me an error:</p>
  
  <pre><code>Deployment failed. Correlation ID: xxxx-xxxx-xxx-xxxxx. 
  VM has reported a failure when processing extension 'cse-agent'. 
  Error message: "Enable failed: failed to get configuration: invalid configuration:
  'commandToExecute' and 'script' were both specified, but only one is validate at a time"
  </code></pre>
  
  <p>From the documentation, it is mentioned that when script attribute is present,
  there is no need for commandToExecute. As you can see above I haven't mentioned commandToExecute, it's somehow taking it from previous extension. Is there a way to update it without deleting it? Also it will be interesting to know what impact will cse-agent extension will create when deleted.</p>
  
  <p>FYI: I have tried deleting 'cse-agent' extension from VM and added my extension. It worked.</p>