我正在尝试使用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' ;
答案 0 :(得分:0)
第二个例子有一些问题:
PSSession有不同的scode,它不知道你的PSDrive。
PSSessions不支持对网络位置的身份验证,就像您可能习惯使用RDP-Sessions一样。请参阅CredSSP
或' PSSession双跳'
方法1 看起来您无法访问要使用的共享。您可以通过-Credential
处的New-PSDrive
参数指定凭据。您可以在Get-Childitem
和Source:
上Target:
吗?