public override void ExecuteCmdlet()
        {
            string resourceGroupName;
            string vmScaleSetName;

            resourceGroupName = this.ResourceGroupName;
            vmScaleSetName    = this.VMScaleSetName;

            var expand = new Microsoft.Rest.Azure.OData.ODataQuery <VirtualMachineScaleSetVM>();

            expand.Expand = "instanceView";
            var vmList       = VirtualMachineScaleSetVMsClient.List(resourceGroupName, vmScaleSetName, expand);
            var resultList   = vmList.ToList();
            var nextPageLink = vmList.NextPageLink;

            while (!string.IsNullOrEmpty(nextPageLink))
            {
                var pageResult = VirtualMachineScaleSetVMsClient.ListNext(nextPageLink);
                foreach (var pageItem in pageResult)
                {
                    resultList.Add(pageItem);
                }
                nextPageLink = pageResult.NextPageLink;
            }
            List <VirtualMachineScaleSetVM> listOfVms = new List <VirtualMachineScaleSetVM>(resultList);

            Rest.Azure.AzureOperationResponse result = null;
            foreach (VirtualMachineScaleSetVM vm in listOfVms)
            {
                result = VirtualMachineScaleSetVMRunCommandsClient.BeginDeleteWithHttpMessagesAsync(resourceGroupName, vmScaleSetName, vm.InstanceId, this.RunCommandName).GetAwaiter().GetResult();
            }

            PSOperationStatusResponse output = new PSOperationStatusResponse
            {
                StartTime = this.StartTime,
                EndTime   = DateTime.Now
            };

            if (result != null && result.Request != null && result.Request.RequestUri != null)
            {
                output.Name = GetOperationIdFromUrlString(result.Request.RequestUri.ToString());
            }

            WriteObject(output);
        }