如果答案是否定的,那么在安全方面最有意义,但我的问题来自以下内容:
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这样的东西,我该如何提供文件呢?
由于双跳,您无法在远程会话中将文件从远程会话传输到会话,但是一旦启动了远程会话,您就可以检索该文件:
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
。这更安全。