我有一个vbscript脚本,当我自己运行它时运行正常。
出于某种原因,当我在任务调度程序下以管理用户身份运行它时,它会运行,但甚至不会写入我的日志文件。它不应该是权限,因为 用户我在adminstrator下运行它。
它是一个在Win2008 64位机器上调用32位dll的脚本。
C:\ windows \ SysWOW64 \ cscript.exe Bob.vbs
我还将本地目录设置为我运行它的位置。
具有讽刺意味的是,任务调度程序说“成功完成”运行任务。
此外,任务调度程序中还有其他脚本正常运行,只是这个脚本。
有没有人列出我可以查看的内容?
答案 0 :(得分:7)
我在Windows 2008 Server和Windows 7上遇到过DOS批处理文件和VB脚本的问题。在每种情况下,一旦我为计划任务操作设置了“start in”文件夹,一切正常。
答案 1 :(得分:6)
我在SVN服务器上运行计划任务时遇到类似问题。
我的脚本写的是我认为当前的工作目录(我为任务指定的目录为“Start in”文件夹)。如果我登录到服务器并运行脚本,它工作正常。当作为预定作业运行时,它不会。
就我而言,调度程序看起来像是将工作目录重新分配为TEMP
环境变量中为用于运行作业的用户帐户指定的目录,而不是我为任务指定的目录(“开始”文件夹)。
检查帐户的TEMP
文件夹,看看您的文件是否存在。
答案 2 :(得分:5)
答案 3 :(得分:4)
如果您正在运行Win2008 64位计算机:这(最终)在同一台服务器上为我工作。任务调度程序运行批处理文件(例如runvbs.bat)以使用32位版本的命令行解释器调用cscript,如下所示:
@echo off
%windir%\syswow64\cmd.exe /C "c:\windows\system32\cscript.exe //B //nologo import_some_data.vbs"
请注意双引号。
我使用Administrators组获取权限,使用最高权限运行。
配置:Windows®7,Windows Server™2008 R2
在编辑操作对话框中,我有:
行动:启动程序
程序/脚本:runvbs.bat
开始于:c:\ inetpub \ wwwroot \ asp \ importstuff \
答案 4 :(得分:1)
解决了同样的问题。 连接到数据库时脚本将失败,然后在修复创建Xls文件后失败。 我创建了一个bat文件并将以下内容添加到其中。这个bat文件将调用我的vb脚本并以32位模式运行它。
%windir%\SysWoW64\cmd.exe /C "c:\windows\system32\cscript.exe //B //nologo C:\ScheduledJobs\PrimeReconDev\myVBScript.vbs"
我设置任务计划以执行包含上述内容的bat文件,并将执行用户分配给Administrators。通过在常规选项卡上单击“更改用户或组”选项来执行此操作。一旦完成,我就能成功执行没有问题。 我最初是以我身份执行的,而且我在管理员组中,但它仍然失败了。执行内置管理员的做法
答案 5 :(得分:0)
我在过去遇到过类似的问题,在调度vbs脚本时代码没有执行 - 这可能会有问题!也很好奇,看看是否有人可以解决这个问题。 (顺便说一句,我们通过将代码重写为C#控制台应用程序来解决它)
答案 6 :(得分:0)
当我遇到这个问题时,通常是因为我的任务上运行的程序错误输出,即使已完成任务的返回值没有报告任何问题。
你说它运行但没有写入你的日志 - 它是否可能在写入你的日志之前崩溃?
如果您还没有,请在脚本中添加错误处理并尝试记录任何错误,或者至少尝试跟踪脚本的执行情况。
答案 7 :(得分:0)
我遇到了同样的问题,直到我将蝙蝠作业的路径添加到操作标签上的开始中。
右键单击任务→属性→操作→编辑开始(可选)
只需填写蝙蝠作业的路径即可。
答案 8 :(得分:0)
对于Windows 2008,您可能需要确保该任务以管理权限运行。
常规选项卡 - (检查)以最高权限运行
答案 9 :(得分:0)
我遇到了同样的问题。
我使用相对路径(“logs \ log”)而不是之前使用的绝对路径(“U:\ workingDirectory \ logs \ log”)来修复它。
通常,当您通过任务计划程序执行脚本时,您需要使用相对路径。
答案 10 :(得分:0)
我有同样的问题。 在Task中使用下一个字符串 - >运行字段 CMD / C"我的VBScript的完整路径" 喜欢 CMD / C c:\ Test \ MyScript.vbs
答案 11 :(得分:0)
到处看看这一点,但现在我得分享了。
如果脚本在服务器2003上运行正常,则尝试移动到服务器2012并且脚本的一部分将无法运行。
必须创建新任务并在常规选项卡上选择“Windows Server 2003,Windows XP或Windows 2000的配置。如果您使用基本任务,则此选项不允许使用2003,您必须使用新任务。” p>
答案 12 :(得分:0)
替代解决方案:
►仅在用户登录时运行
在任务管理器中进行选择。
<小时/> 这就是为我做的修复(在3台独立计算机上 - Win7 Pro,Win12服务器)
我希望它可以帮助别人。