There is a command group 'az_vm_extension'. This group of commands could 'manage extensions on vms'. The group of commands has global parameter '--debug' which means 'Increase logging verbosity to show all debug logs.'. The group of commands has global parameter '--help -h' which means 'Show this help message and exit.'. The group of commands has global parameter '--only-show-errors' which means 'Only show errors, suppressing warnings.'. The group of commands has global parameter '--output -o' which means 'Output format.'. The group of commands has global parameter '--query' which means 'JMESPath query string. See <a href="http://jmespath.org/">http://jmespath.org/</a> for more information and examples.'. The group of commands has global parameter '--subscription' which means 'Name or ID of subscription. You can configure the default subscription using `az account set -s NAME_OR_ID`.'. The group of commands has global parameter '--verbose' which means 'Increase logging verbosity. Use --debug for full debug logs.'. This group contains a child command 'az_vm_extension_set'.The syntax is: az vm extension set --name
                    --publisher
                    [--enable-auto-upgrade {false, true}]
                    [--extension-instance-name]
                    [--force-update]
                    [--ids]
                    [--no-auto-upgrade {false, true}]
                    [--no-auto-upgrade-minor-version {false, true}]
                    [--no-wait]
                    [--protected-settings]
                    [--resource-group]
                    [--settings]
                    [--subscription]
                    [--version]
                    [--vm-name]. The 1th example of the child command would be to use it to 'add a user account to a linux vm', the syntax is: az vm extension set -n VMAccessForLinux --publisher Microsoft.OSTCExtensions --version 1.4 \
    --vm-name MyVm --resource-group MyResourceGroup \
    --protected-settings '{"username":"user1", "ssh_key":"ssh_rsa ..."}'. The 2th example of the child command would be to use it to 'add a customscript extension to vm s  specified by   ids', the syntax is: az vm extension set -n customScript --publisher Microsoft.Azure.Extensions --ids {vm_id}. The 3th example of the child command would be to use it to 'add an extension and enable automatic upgrade by the platform if there is a newer version of the extension available', the syntax is: az vm extension set -n extName --publisher publisher --vm-name MyVM -g MyResourceGroup \
--enable-auto-upgrade true. The parameter '--name -n' is required. It is used to name of the extension.. The parameter '--publisher' is required. It is used to the name of the extension publisher.. The parameter '--enable-auto-upgrade' is optional. indicate the extension should be automatically upgraded by the platform if there is a newer version of the extension available.. The parameter '--extension-instance-name' is optional. name of extension instance, which can be customized. default: name of the extension.. The parameter '--force-update' is optional. force to update even if the extension configuration has not changed.. The parameter '--ids' is optional. one or more resource ids (space-delimited). it should be a complete resource id containing all information of 'resource id' arguments. you should provide either --ids or other 'resource id' arguments.. The parameter '--no-auto-upgrade' is optional. if set, the extension service will not automatically pick or upgrade to the latest minor version, even if the extension is redeployed.. The parameter '--no-auto-upgrade-minor-version' is optional. if set, the extension service will not automatically pick or upgrade to the latest minor version, even if the extension is redeployed.. The parameter '--no-wait' is optional. do not wait for the long-running operation to finish.. The parameter '--protected-settings' is optional. protected settings in json format for sensitive information like credentials. a json file path is also accepted.. The parameter '--resource-group -g' is optional. name of resource group. you can configure the default group using `az configure --defaults group=<name>`.. The parameter '--settings' is optional. extension settings in json format. a json file path is also accepted.. The parameter '--subscription' is optional. name or id of subscription. you can configure the default subscription using `az account set -s name_or_id`.. The parameter '--version' is optional. the version of the extension. to pin extension version to this value, please specify --no-auto-upgrade-minor-version.. The parameter '--vm-name' is optional. the name of the virtual machine. you can configure the default using `az configure --defaults vm=<name>`.. 