复制项目文件系统提供程序错误

复制项目文件系统提供程序错误

Copy-item cmdlet 无法按预期工作,我不明白为什么。这是我的代码:

$Source = "C:\folder1"
$Destination = "\\172.22.0.115\c$\folder2\"
$Password  = ConvertTo-SecureString -AsPlainText -Force -String "MyPassword"
$User = "Domain\Administrator"
$credentials = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $user,$password

Copy-Item $Source -Destination $Destination -Credential $credentials 

这是我收到的错误:

The FileSystem provider supports credentials only on the New-PSDrive cmdlet. Perform 
the operation again without specifying credentials.
At C:\Sans titre2.ps1:7 char:1
+ Copy-Item $Source -Destination $Destination -Credential $credentials
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotImplemented: (:) [], PSNotSupportedException
    + FullyQualifiedErrorId : NotSupported

我也尝试过这个:

Start-BitsTransfer -Source $source -Destination $Destination -Credential $credentials

并且 Robocopy 不支持凭证......

我在 Windows 7 上运行 Powershell V4.0,我的服务器也在 Windows server 2012 r2 上运行,并且也运行 powershell V4.0。

我想将本地文件夹(包含所有子文件夹)复制到远程路径 \ipadress\c$\folder

我该如何解决?

谢谢

答案1

$Source = "C:\folder1"
$Destination = "X:\"
$Password  = ConvertTo-SecureString -AsPlainText -Force -String "MyPassword"
$User = "Domain\Administrator"
$credentials = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $user,$password

New-PSDrive -Name X: -PSProvider FileSystem -Root "\\172.22.0.115\c$\folder2" -Credential $credentials

Copy-Item $Source -Destination $Destination

编辑:愚蠢的错误,您可以省略 copy-item cmdlet 上的 -credential 开关,因为您已经使用 new-psdrive 完成了身份验证...

答案2

  1. 以具有所需权限的其他用户身份运行 PowerShell 窗口,并从脚本中提取凭据部分。

  2. 以具有所需权限的其他用户身份运行 PowerShell/cmd 窗口,并使用其他实用程序(而不是 PS cmdlet,如 robocopy)。

相关内容