コード例 #1
0
        public async Task <List <IPowerShellCommand> > GetCommands()
        {
            var myTask = Task.Factory.StartNew(() =>
                                               ExplorerExecutionHelper.ExecuteCommand <CommandInfo>("Get-Command")
                                               );

            var result = await myTask;

            return(ConversionFactory.Convert(result));
        }
コード例 #2
0
        public async Task <List <IPowerShellModule> > GetModules()
        {
            var myTask = Task.Factory.StartNew(() =>
                                               ExplorerExecutionHelper.ExecuteCommand <PSModuleInfo>("Get-Module -ListAvailable")
                                               );

            var result = await myTask;

            return(ConversionFactory.Convert(result));
        }
コード例 #3
0
        public async Task <string> GetCommandHelp(IPowerShellCommand command)
        {
            var script = string.Format("Get-Help -Name {0} -Full | Out-String", command.Name);

            var myTask = Task.Factory.StartNew(() =>
                                               ExplorerExecutionHelper.ExecuteCommand <string>(script)
                                               );

            var result = await myTask;

            if (result.Count > 0)
            {
                return(result[0]);
            }

            return(string.Empty);
        }
コード例 #4
0
        public async Task <IPowerShellCommandMetadata> GetCommandMetadata(IPowerShellCommand command)
        {
            var script = string.Format("New-object System.Management.Automation.CommandMetaData -ArgumentList (Get-Command {0})", command.Name);

            var myTask = Task.Factory.StartNew(() =>
                                               ExplorerExecutionHelper.ExecuteCommand <CommandMetadata>(script)
                                               );

            var result = await myTask;
            var items  = ConversionFactory.Convert(result);

            if (items.Count > 0)
            {
                return(items[0]);
            }

            return(new PowerShellCommandMetadata());
        }