如何在同一PowerShell会话(含远程VM)中复制文件到不同目录?
在远程PowerShell会话内复制文件到同机器另一目录的解决方法
方法1:通过Invoke-Command远程执行复制命令
如果你已经创建了远程会话对象(比如用New-PSSession连接到虚拟机),可以直接通过Invoke-Command让远程机器执行自身的文件复制操作,无需用到-FromSession或-ToSession参数:# 先创建并保存远程会话 $remoteSession = New-PSSession -ComputerName "虚拟机名称/IP" -Credential (Get-Credential) # 远程执行Copy-Item命令,完成同机器内的文件复制 Invoke-Command -Session $remoteSession -ScriptBlock { Copy-Item -Path "C:\Source\example.txt" -Destination "E:\Target\" -Recurse # 加-Recurse可复制目录 }方法2:进入交互式远程会话后直接操作
如果你用Enter-PSSession进入了远程机器的交互式会话,此时所有命令都会在远程机器上运行,直接使用Copy-Item即可,和本地操作完全一致:# 进入远程交互式会话 Enter-PSSession -ComputerName "虚拟机名称/IP" -Credential (Get-Credential) # 在远程会话内直接执行复制 Copy-Item -Path "C:\Source\data" -Destination "D:\Backup\data" -Recurse补充说明
-FromSession和-ToSession参数本来就是用于本地与远程会话之间的跨机器复制,同一远程会话内的文件复制属于远程机器的本地操作,不需要用到这两个参数,直接让远程机器执行自身的Copy-Item命令即可。
内容的提问来源于stack exchange,提问作者Ivan Mihaylov
相关产品推荐
相关产品推荐

