public override void Execute() { int numberOfRgs = 2; var context = Context; for (int i = 0; i < numberOfRgs; i++) { var createMultipleVms = new CreateMultipleVms(context); createMultipleVms.Execute(); context = new ScenarioContext(); } var subscription = new AzureResourceManagerClient().Subscription(Context.SubscriptionId); Regex reg = new Regex($"{Context.VmName}.*-e"); Parallel.ForEach(subscription.ListVirtualMachines(), vm => { if (reg.IsMatch(vm.Id.Name)) { Console.WriteLine($"Stopping {vm.Id.ResourceGroup} {vm.Id.Name}"); vm.PowerOff(); Console.WriteLine($"Starting {vm.Id.ResourceGroup} {vm.Id.Name}"); vm.PowerOn(); } }); }