/// <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() } )); } }
internal PSChildJobProxy(string command, PSObject o) : base(command) { string str; this._tracer = PowerShellTraceSourceFactory.GetTraceSource(); this._syncObject = new object(); PSJobProxy.TryGetJobPropertyValue <string>(o, "StatusMessage", out this._statusMessage); PSJobProxy.TryGetJobPropertyValue <string>(o, "Location", out this._location); PSJobProxy.TryGetJobPropertyValue <string>(o, "Name", out str); base.Name = str; base.Output.DataAdded += new EventHandler <DataAddedEventArgs>(this.OutputAdded); base.Error.DataAdded += new EventHandler <DataAddedEventArgs>(this.ErrorAdded); base.Warning.DataAdded += new EventHandler <DataAddedEventArgs>(this.WarningAdded); base.Verbose.DataAdded += new EventHandler <DataAddedEventArgs>(this.VerboseAdded); base.Progress.DataAdded += new EventHandler <DataAddedEventArgs>(this.ProgressAdded); base.Debug.DataAdded += new EventHandler <DataAddedEventArgs>(this.DebugAdded); }