当我尝试在本地计算机上创建计划任务时,出现“错误:未找到网络路径”。我在命令提示符下使用此命令:schtasks /tn taskname /tr taskpath /scminute /mo 20 /sd 09/23/2010 /s \\%computername% /u username /p password
当我给出上述命令而不输入计算机名、用户名和密码时,任务创建得很顺利。我做错了什么?
编辑:我使用以下命令使它工作。我不明白为什么它能工作,因为我使用的是 /ru 和 /rp,它们是远程用户和远程密码设置,而我在本地机器上执行命令。而且我必须给计算机名加上双引号。
schtasks /tn taskname /tr taskpath /sc minute /mo 20 /sd 09/23/2010 /s "%computername%" /ru username /rp password
答案1
我相信,如果您尝试按照书面形式运行该命令,目标计算机%computername%
将始终返回您的本地计算机名称。默认情况下,schtasks
在本地工作,除非您使用 指定远程计算机/s
。
现在,如果您运行的命令是/s remotemachine
,并且您收到该错误,那么我相信这\\
不是必需的。 这里就是一些例子。
希望这可以帮助。
答案2
在/tr taskpath
参数中,路径是否包含空格?如果包含,请用双引号将路径括起来"。因此,/tr c:\program files\test\run.exe
您可以使用而不是
/tr "c:\program files\test\run.exe"
。
答案3
/u
和开关/r
仅适用于用 指定的远程系统/s
,仅用于获取在远程系统上安排任务的权限,而不适用于该任务运行时使用的凭据。
如果您通过远程桌面(直接在远程计算机上运行)访问计算机,则schtasks.exe
不需要/s /u /p
;您通过 RDP 登录时已经提供了凭据。(如果您提供它们,它将失败,因为您已经登录到该会话。)
如果您想在未登录的远程系统上安排任务,则可以使用这些/s /u /p
选项。/u
和/p
必须具有管理员权限/s
才能安排任务,否则将失败。
如果您指定/s
不带和/u
的/p
,它将使用您当前的凭据,该凭据可能会或可能不会被远程系统接受/s
(如果是不同的域,或者域⇔非域等,则会失败)
/ru
和选项/rp
是实际任务触发时运行的用户凭证(不是任务的调度),代表以用户身份运行和运行方式密码,不是 远程用户和远程密码。