// GET: PowerShell
        public JsonResult Run(string command)
        {
            var resultList   = new List <string>();
            var powerShell   = new PowerShellFacade();
            var commandArray = command.Split(' ');
            var argumets     = new List <KeyValuePair <string, object> >();

            for (int i = 1; i < commandArray.Length; i = i + 2)
            {
                argumets.Add(i < commandArray.Length - 1
                    ? new KeyValuePair <string, object>(commandArray[i], commandArray[i + 1])
                    : new KeyValuePair <string, object>(commandArray[i], null));
            }
            powerShell.RunCommandWithParameters(commandArray[0], argumets, objects =>
            {
                int i = 0;
                foreach (PSObject psObject in objects)
                {
                    foreach (var member in psObject.Properties)
                    {
                        if (member.IsInstance)
                        {
                            resultList.Add($"{++i}. {member.Name}={member.Value}");
                        }
                    }
                    resultList.Add($"{++i}. -------");
                }
            });
            return(Json(resultList));
        }
        static void Main(string[] args)
        {
            var powerShell = new PowerShellFacade();
            var parameters = new[] { "c:\\_Projects" };

            powerShell.RunCommandWithArguments("dir", parameters, objects =>
            {
                foreach (var psObject in objects)
                {
                    Console.WriteLine(psObject.ToString());
                }
            });
        }