Public/Invoke-EditorServicesProcess.ps1
function Invoke-EditorServicesProcess { <# .EXTERNALHELP EditorServicesProcess-help.xml #> [CmdletBinding()] param( [Parameter(Position=0)] [ValidateNotNullOrEmpty()] [scriptblock] $ScriptBlock, [Parameter(Position=1, ValueFromPipelineByPropertyName)] [ValidateNotNullOrEmpty()] [int] $ProcessId ) process { try { $runspace = NewRemoteRunspace $ProcessId -Cmdlet $PSCmdlet $runspace.Open() $ps = [powershell]::Create() $ps.Runspace = $runspace $ps.AddScript(' try {{ $runspace = (Get-Runspace 2) $ps = [powershell]::Create() $ps.Runspace = $runspace $ps.AddScript(''{0}''). Invoke() }} finally {{ if ($ps) {{ $ps.Dispose() }} }} ' -f $ScriptBlock.ToString()). Invoke() } finally { if ($runspace) { $runspace.Dispose() } if ($ps) { $ps.Dispose() } } } } |