Robocopy 在计划任务中失败,错误 1326 登录失败

Robocopy 在计划任务中失败,错误 1326 登录失败

我的目标:简单地将数据库备份目录镜像到另一台服务器上

方法:使用计划任务中包含的 Robocopy 语句

robocopy "C:\MylocalDirBackup" "\\MY.IP\DatabaseBackupsShare"  /mir /z /log:"C:\MyLocalDIR\RobocopyTestLog.txt"

环境:

  • Windows Server 2008R2
  • 计划任务用户“MylocalUser”:本地计算机的本地管理员
  • 网络配置:两台服务器都在工作组中

测试:

  • 导航至共享 \MY.IP\DatabaseBackupsShare 作为“MylocalUser”-成功,无需提示输入凭据
  • 以“MyLocalUser”身份登录时从命令行运行 robocopy 命令 - 成功

问题!:从计划任务运行 Robocopy 命令时出现以下错误:

2013/10/22 20:04:57 ERROR 1326 (0x0000052E) Accessing Destination Directory \\MY.IP\DatabaseBackupsShare\ Logon failure: unknown user name or bad password.

我发现其他几个人也遇到了类似的问题,并遵循了以下建议:http://social.technet.microsoft.com/Forums/scriptcenter/en-US/b591346e-3ed0-4ed1-9453-24851ebe1bb1/scheduling-robocopy-to-run-at-system-startup?forum=ITCG

任何帮助都感激不尽。我以为这会是一项很快完成的任务……

答案1

当我做类似的事情时,如果不先映射驱动器,我就无法让它工作。

任务计划程序中的操作 1:

net use z: \\MY.IP\DatabaseBackupsShare mypass /user:myuser

任务计划程序中的操作2:

robocopy "C:\MylocalDirBackup" z:  /mir /z /log:"C:\MyLocalDIR\RobocopyTestLog.txt"

因为您要存储密码 - ew - 请使用非特权帐户而不是管理员帐户,并为该帐户提供一个强密码、执行该任务的最小权限等。

答案2

我本想将其作为评论/回复发布,但我没有足够的声誉来做到这一点。

您究竟如何启动计划任务?

当我使用 robocopy 完成计划任务时,我将整个 robocopy 命令放在 .bat 文件中,然后将其用于计划任务。换句话说,我没有安排 robocopy.exe 并指定运行时参数 - 我只是安排 .bat 文件。这样可以避免很多语法问题。

答案3

您是否指定了计划任务中使用的帐户?或者您使用的是本地用户?我同意@Katherine 的观点,不要将凭据存储在脚本中。如果您在任务中指定它们,则可以告诉它使用特权帐户。这样,您就不会将其存储在易于访问的空间中,并且您可以在登录时使用不同的帐户运行脚本...

答案4

在确认任务计划程序确实使用了预期的帐户但仍然失败后,我找到了一种使用传递身份验证方法的解决方案。

  • 我在目标服务器上创建了一个新的本地用户帐户 - MyNewLocalUser
  • 我在主机服务器上创建了一个新的本地用户帐户 MyNewLocalUser
  • 两者都有相同的用户名和密码
  • 将计划任务更改为在 MyNewLocalUser 下运行

当该任务在此新用户下运行时,Robocopy 成功运行。

相关内容