Windows XP批处理命令schtasks不'运行远程脚本

我正在尝试创build一个batch文件,以便在多台远程PC上运行自动脚本。
我的主机应该能够连接到任何远程PC并设置本地计划任务
batch file使用这些命令:

 schtasks /delete <--- remove any previous version /S \\10.1.2.3 <--- the remote PC's IP /U theAdministrator <--- the username to access the PC /P MyPassword <--- the password to access the PC /TN MyTask <--- task name /F <--- don't ask, just do it option schtasks /create /S \\10.1.2.3 /U theAdministrator /P MyPassword /RU theAdministrator <--- the username to execute the task /RP MyPassword <--- the password to execute the task /SC dayly /MO 1 <--- run every day /TN MyTask /TR C:\task.bat <--- the script to run on the remote PC 

当我启动第一个/delete命令一切正常,但第二个返回警告:
“任务已经创build,但可能无法运行,因为无法设置帐户信息”
(对不起,如果这不是确切的错误消息,但我必须自己翻译)

我确信用户名和密码是正确的,因为/delete命令是正确的,并且/create一个即使它不运行也/create任务。

因此,问题应该是/RU/RP选项…


解:

我没有能够执行命令本身没有这个错误消息,无论如何,我已经达到了我的目标,并发现两个不同的select:

使用AT命令最简单的方法是:

 AT \\10.1.2.3 12:00 C:\task.bat 

它没有问题,但需要指定一个小时运行; 这意味着如果您希望立即执行任务,您必须与%time%variables进行聊天。
此选项也不允许设置用户运行任务(我已经以pipe理员的身份进行了testing,并将任务设置为NT AUTHORITY/SYSTEM执行)

使用PsTools的全function方法:
schtasks /create命令传递给PsExec

 set command=schtasks /create /SC dayly /MO 1 /TN MyTask /TR C:\task.bat /RU theAdministrator /RP MyPassword PsExec \\10.1.2.3 -u theAdministrator -p MyPassword %command% 

NB。 访问远程PC的目标IP用户名密码必须在PsExec命令中设置,因此你不需要在schtasks
目标PC的root C:\目录下已经存在脚本task.bat。

PC上的域名?
我之前在域上使用过schtasks,它没有/ru/rp 。 我只是用/u/p作为我安排任务的机器的用户名和密码。
尽管从未在标准工作组/家庭机器上尝试过。

你也可能想看看这个 ,确保UAC在所有的远程机器上都是关闭的,因为以后可能会引起问题。

编辑

我刚刚尝试从一台笔记本电脑到另一台(没有涉及的领域)。 这两条线对于我来说(CMD,所以应该通过批处理)工作

 schtasks /delete /S \\xxx.xxx.xxx.xxx /U USERNAME /P PASSWORD /TN MyTask /F schtasks /create /S \\xxx.xxx.xxx.xxx /U USERNAME /P PASSWORD /TN MyTask /SC once /st START_TIME /it /TR c:\test.bat 

需要注意的是
– 显然,用你所需要的IP,用户名和密码来替换x的相关数据
– 我曾经/sc once /st START_TIME ,而不是你/sc daily /mo 1 ,但这应该没有区别
– 我已经添加/it哪个(从CMD获取)“Enalbes交互式运行的任务…”(根据我的经验,不使用它会导致问题)
– 笔记本电脑上的用户,我正在安排任务在笔记本电脑上不存在,我跑schtasks从
– 我在笔记本电脑上运行schtasks的用户在笔记本电脑上不存在我正在安排任务(因此用户不存在客户端/主机上并不重要)