如何在PowerShell中将文件/文件夹复制到远程位置?

要将文件或文件夹复制到远程位置或从远程位置复制文件或文件夹,您需要提供项目的UNC路径。例如,在这里,我们将文件从本地计算机复制到名为Test-PC的远程计算机。

Copy-Item D:\Temp\PowerShellcommands.csv -Destination \\Test-
PC\Sharedpath\PScommands.ps1 -PassThru

在这里,文件PowerShellcommands.csv被复制到远程计算机,并使用PSCommands.ps1重命名。

您也可以将文件从一个共享位置复制到另一共享位置。

例如,

Copy-Item \\Test-PC1\\D$\PowerShellcommands.csv -Destination \\Test-
PC\Sharedpath\PScommands.ps1 -PassThru

将项目复制到远程位置的另一种方法是,可以使用ToSession参数。要使用ToSesssion参数,您需要使用PSRemote计算机会话连接远程计算机,并且如果目标文件/文件夹位于不同的域或工作站中,则在进行远程处理时需要使用不同的凭据。

例如,

$destsession = New-PSSession -ComputerName Test-PC -Credential (Get-Credential)
Copy-Item D:\Temp\PowerShellcommands.csv -ToSession $destsession -PassThru

您也可以使用上述相同的方法复制文件夹。

例如,

$destsession = New-PSSession -ComputerName Test-PC -Credential (Get-Credential)
Copy-Item D:\Temp\* -ToSession $destsession -Force -PassThru

您也可以将文件从一个会话复制到另一会话,其源路径应使用–FromSession参数,而目标路径应使用–ToSession参数。

例如,

$destsession = New-PSSession -ComputerName Test-PC -Credential (Get-Credential)
$sourcesession = New-PSSession -ComputerName Test1-PC -Credential (Get-Credential)
Copy-Item -FromSession $sourcesession -ToSession $destsession -PassThru