0

我将文件存储在网络共享\\domain.company.com\Server01\Folder1\Path上,我希望将其递归复制到远程服务器\\RemoteServer1\D$\Temp\Folder1

最初,我看着使用Copy-Item -Path "\\domain.company.com\Server01\Folder1\Path\*" -Destination "\\RemoteServer1\D$\Temp\Folder1" -Recurse -Force. 但是,由于脚本是从对 RemoteServer 没有管理访问权限的机器上运行的,所以我需要为Copy-Item.

众所周知,这是不可能的,因为 FileSystem 导致我使用New-PSDrive.

所以在这里我正在编写以下代码块:

New-PSDrive -Name Source -PSProvider FileSystem "\\domain.company.com\Server01\Folder1\Path" -Credential $Creds
New-PSDrive -Name Target -PSProvider FileSystem "\\RemoteServer1\D$\Temp\Folder1" -Credential $Creds
Copy-Item -Path Source:\* -Destination Target: -Recurse -Force
Remove-PSDrive Source
Remove-PSDrive Target

现在,当我传入凭据时,我的下一个问题出现在该New-PSDrive错误中,即使我完全知道传入的凭据对此网络共享和远程服务器具有完全权限,也会通知我“找不到网络路径”。

我的问题是,在我的机器上以及将传入的凭据用于不同帐户时,将这些文件夹中的项目、文件夹和项目复制到远程服务器的最佳方法是什么。

4

1 回答 1

0

简而言之,我发现我使用的New-PSDrive命令不正确,它没有“映射”名称,而是创建了一个引用。您仍然需要在Copy-Item. 请参阅下面的工作解决方案:

New-PSDrive -Name Source -PSProvider FileSystem -Root "\\domain.company.com\Server01\Folder1\Path" | Out-Null
New-PSDrive -Name Target -PSProvider FileSystem -Root "\\RemoteServer1\D$\Temp\Folder1" -Credential $Creds | Out-Null
Copy-Item -Path "\\domain.company.com\Server01\Folder1\Path\*" -Destination "\\RemoteServer1\D$\Temp\Folder1" -Recurse -Force
Remove-PSDrive Source
Remove-PSDrive Target
于 2021-09-27T16:12:37.207 回答