Example #1
0
        /// <summary>	Gets a job. </summary>
        /// <remarks>	Anthony, 5/29/2015. </remarks>
        /// <param name="jobId">	Identifier for the job. </param>
        /// <returns>	The job. </returns>
        public Task <PowershellReturn> GetJob(Guid jobId)
        {
            RunspaceConfiguration rsConfig = RunspaceConfiguration.Create();

            InitialSessionState initialSession = InitialSessionState.Create();

            using (PowerShell powerShellInstance = PowerShell.Create(initialSession))
            {
                powerShellInstance.RunspacePool = RunspacePoolWrapper.Pool;
                if (powerShellInstance.Runspace == null)
                {
                    powerShellInstance.Runspace = RunspaceFactory.CreateRunspace(rsConfig);
                    powerShellInstance.Runspace.Open();
                }

                ICollection <PSJobProxy> jobProxyCollection = PSJobProxy.Create(powerShellInstance.Runspace);

                var proxy = jobProxyCollection.First();

                return(Task.FromResult(
                           new PowershellReturn
                {
                    PowerShellReturnedValidData = true,
                    ActualPowerShellData = proxy.Output.LastOrDefault().ToString()
                }
                           ));
            }
        }