Copy-Item抛出AccessDenied异常

时间:2017-05-10 06:31:43

标签: powershell

我正在尝试使用PowerShell将文件从远程服务器复制到我的基本机器。这会导致访问被拒绝'即使驱动器已映射,也会出现异常:

New-PSDrive -Name source -PSProvider FileSystem -Root "\\SERVERNAME1\D$\Temp\Folder" ;
New-PSDrive -Name target -PSProvider FileSystem -Root $destinationRemotePath ;
Copy-Item -Path  source:\$($file).zip -Destination target: -Verbose -ErrorAction Stop -Force ;

方法2

我正在映射源驱动器并使用PsSession作为目标驱动器,但我得到了

  

找不到驱动器。名为'来源'的驱动器不存在。       + CategoryInfo:ObjectNotFound :( source:String)[Copy-Item],DriveNotFoundException       + FullyQualifiedErrorId:DriveNotFound,Microsoft.PowerShell.Commands.CopyItemCommand

以下是使用的代码:

$Username = "UserName";
$Password = ConvertTo-SecureString "Password" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential($Username, $Password)
$session = new-pssession -computername 'TargetServerName' -credential $cred 
New-PSDrive -Name source -PSProvider FileSystem -Root "\\SERVERNAME1\D$\Temp\Folder" ;
Invoke-Command -Session $session -ScriptBlock { Copy-Item -Path  $($args[0]) -Destination $($args[1]) -Verbose -ErrorAction Stop } -ArgumentList source:\$($file).zip,'D:\Folder' ;

1 个答案:

答案 0 :(得分:0)

第二个例子有一些问题:

  1. PSSession有不同的scode,它不知道你的PSDrive。

  2. PSSessions不支持对网络位置的身份验证,就像您可能习惯使用RDP-Sessions一样。请参阅CredSSP或' PSSession双跳'

  3. 方法1 看起来您无法访问要使用的共享。您可以通过-Credential处的New-PSDrive参数指定凭据。您可以在Get-ChilditemSource:Target:吗?