示例#1
0
        public async Task <IEnumerable <VMItem> > GetVMListAsync(string name)
        {
            var psCommand = new PSCommand
            {
                Commands = new List <Command>()
            };

            if (!String.IsNullOrEmpty(vmmServerName))
            {
                psCommand.Commands.Add(new Command(String.Format("$Cloud = Get-SCCloud -Name \"{0}\" -VMMServer \"{1}\"", name, vmmServerName), true));
                psCommand.Commands.Add(new Command("Get-SCVirtualMachine -Cloud $Cloud", true));

                //command = String.Concat(String.Format("$Cloud = Get-SCCloud -Name \"{0}\" -VMMServer \"{1}\"", name, vmmServerName), Environment.NewLine, "Get-SCVirtualMachine -Cloud $Cloud");
            }
            else
            {
                psCommand.ScriptCommand = String.Format("Get-SCVirtualMachine -VMMServer \"{0}\"", name);
            }

            var objects = await psProvider.ExecuteAsync <PSObject>(psCommand);

            if (!String.IsNullOrEmpty(psProvider.Error))
            {
                throw new Exception(psProvider.Error);
            }

            var mapper = new PSMapper();

            return(objects.Select(mapper.Map));
        }
示例#2
0
        public async Task <IEnumerable <VMItem> > GetStatus(string name)
        {
            string command = String.Concat(String.Format(this.mainCommandTemplate, name), Environment.NewLine, "$VM.DynamicMemoryStatus");

            var mapper  = new PSMapper();
            var objects = await this.psProvider.ExecuteAsync <PSObject>(new PSCommand { ScriptCommand = command });

            return(objects.Select(mapper.Map));
        }