好的,以下是我提出的小脚本应该使用本地服务器管理员用户将文件从本地驱动器复制到远程服务器。
$User = "SERVER-NAME\MyUser"
$Password = "Password"
$net = new-object -ComObject WScript.Network
$net.MapNetworkDrive("X:", "\\SERVER-NAME\c$\MyTestFolder\", $false, $User, $Password)
Copy-Item -Path "D:\Path\To\Copy\From" -Destination "X:\" -Recurse -Force -PassThru -Verbose
出于某种原因,我收到以下错误,即使可以从我的机器访问服务器:
Exception calling "MapNetworkDrive" with "5" argument(s): "The network path was not found."
答案 0 :(得分:0)
因此,只有当文件夹实际通过网络共享时,脚本才能复制文件(文件夹属性 - >分享 - >高级共享)。没有实际的远程访问文件系统(这有点令人失望)。 这是我最终得到的脚本的简化版本:
{{1}}
答案 1 :(得分:0)
尝试使用new-psdrive创建驱动器,如下所示:
$userCRED = "SERVER-NAME\MyUser"
$pass="Password"
$passCRED = ConvertTo-SecureString -String $pass -AsPlainText -Force
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $userCRED, $passCRED
$DestinationExport="\\SERVER-NAME\c$\MyTestFolder"
New-PSDrive -Name X -PSProvider filesystem -Root $DestinationExport -Credential $cred
Copy-Item -Path "D:\Path\To\Copy\From" -Destination "X:\" -Recurse -Force -PassThru -Verbose
Remove-PSDrive -Name X