在运行空间中运行invoke-command时,哪里可以找到returnvalue?

时间:2017-02-22 13:17:46

标签: powershell runspace

  

我有这个PSSession从远程系统返回日期。   Start-Session是一个收集主机,用户和密码的功能   开始PSSession。 $ return是returnvalue

# Start Session
$Session = Start-Session

# Start Commands in Session
$return = Invoke-Command -Session $Session -Scriptblock {

    Get-Date

    }

$return

# Close Session
Remove-PSSession $Session   
  

如果我将上面的代码片段放入一个运行空间,则$ Data为空。

$Runspace = [runspacefactory]::CreateRunspace()
$PowerShell =[Powershell]::Create()
$PowerShell.runspace = $Runspace
$Runspace.Open()

[void]$PowerShell.AddScript({

        # Start Session
        $Session = Start-Session

        # Start Commands in Session
        $return = Invoke-Command -Session $Session -Scriptblock {

            Get-Date

            }

        $return

        # Close Session
        Remove-PSSession $Session                                       
})

$AsyncObject = $PowerShell.BeginInvoke()

$Data = $PowerShell.EndInvoke($AsyncObject)

$Data

$PowerShell.Dispose()

这种结构是否可行?如果是,我必须寻找回报值吗?在PSSession或在runspaceobject?

提前感谢。

问候

德克

0 个答案:

没有答案