将文件从pssession返回到其调用程序

时间:2018-09-19 18:01:42

标签: powershell

如果答案是否定的,那么从安全角度考虑最有意义,但是我的问题源自以下内容:

PS> $s = new-pssession -sshtransport -host host -user me
PS> copy-item $filename -tosession $s ${params}
PS> enter-pssession $s
[host]: PS /home> process-data $filename >process.out
[host]: PS /home> copy-item ...

在这里,我想知道从此交互式提示是否可以将文件“返回”到我的原始会话。只是让您做类似的事情:

copy-item $filename -tosession $Host

似乎冒险,我可能不希望远程脚本能够从系统中提取内容。

但是,是否有一种使文件对调用者可用的机制?诸如Receive-Job之类的东西,如何为它提供文件?

1 个答案:

答案 0 :(得分:1)

由于两次跳转,您无法在远程会话中 中将文件从远程会话传输到会话中,但是一旦您有发起远程会话:

PS> $s = New-PSSession -SSHTransport -Host host -User me
PS> $filename | Copy-Item -ToSession $s -Destination /home/
PS> Enter-PSSession -Session $s

[host]: PS> process-data $filename >process.out
[host]: PS> Exit-PSSession

PS> Copy-Item -FromSession $s -Path /home/process.out -Destination C:\Temp\

*Session上使用Copy-Item参数时,它将使用WinRM而不是SMB来处理文件传输。这是 more 安全。