public IHyperVMachine GetMachineByName(string name)
        {
            var en = new ManagementClass(_scope, new ManagementPath("Msvm_ComputerSystem"), null)
               .GetInstances()
               .OfType<ManagementObject>().Where(x => "Virtual Machine" == (string)x["Caption"]);

            return new HyperVMachine(en.First(x => x["ElementName"] as string == name));
        }