Vbscript 我的剧本赢了';t在任务计划程序下运行。为什么?

Vbscript 我的剧本赢了';t在任务计划程序下运行。为什么?,vbscript,windows-server-2008,scheduled-tasks,Vbscript,Windows Server 2008,Scheduled Tasks,我有一个vbscript脚本,当我自己运行它时,它运行得很好 出于某种原因,当我作为管理用户在任务调度器下运行它时,它会运行,但甚至不会写入日志文件。它不应该是权限,因为 我运行它的用户是管理员 这是一个在Win2008 64位机器上调用32位DLL的脚本 C:\windows\SysWOW64\cscript.exe Bob.vbs 我还将本地目录设置为运行它的位置 具有讽刺意味的是,任务调度器说“成功完成”运行任务 此外,任务调度器中还有其他脚本运行良好,仅此脚本 有人有我可以检查的事情列表

我有一个vbscript脚本,当我自己运行它时,它运行得很好

出于某种原因,当我作为管理用户在任务调度器下运行它时,它会运行,但甚至不会写入日志文件。它不应该是权限,因为 我运行它的用户是管理员

这是一个在Win2008 64位机器上调用32位DLL的脚本

C:\windows\SysWOW64\cscript.exe Bob.vbs

我还将本地目录设置为运行它的位置

具有讽刺意味的是,任务调度器说“成功完成”运行任务

此外,任务调度器中还有其他脚本运行良好,仅此脚本


有人有我可以检查的事情列表吗?

我过去也遇到过类似的问题,在调度vbs脚本时代码没有执行,这可能会有问题!也很想知道是否有人能解决这个问题。
(顺便说一句,我们通过将代码重写为C#console应用程序解决了这个问题)

当我遇到这个问题时,通常是因为在我的任务上运行的程序出错了,即使已完成任务的返回值没有报告任何问题

你说它运行但不写入你的日志——有可能它在写入你的日志之前崩溃了吗


如果还没有,请将错误处理添加到脚本中,并尝试记录任何错误,或者至少尝试跟踪脚本的执行情况。

我在SVN服务器上运行计划任务时遇到类似问题

我的脚本正在写入我认为是当前的工作目录(我为任务指定的“开始位置”文件夹)。如果我登录到服务器并运行脚本,它工作得很好。当作为计划作业运行时,它不会

在我的例子中,调度程序似乎将工作目录重新分配给了用于运行作业的用户帐户的
TEMP
环境变量中指定的目录,而不是我为任务指定的目录(“开始位置”文件夹)


检查帐户的
TEMP
文件夹,看看你的文件是否在那里。

我在Windows 2008 Server和Windows 7上遇到DOS批处理文件和VB脚本的问题。在每种情况下,一旦我为计划任务操作设置了“起始位置”文件夹,一切都正常工作。

我遇到了同样的问题,直到我将bat作业存储的路径添加到操作选项卡上的起始位置

右键单击任务→ 性质→ 行动→ 编辑起始位置(可选)


只需填写bat作业的路径。

对于Windows 2008,您可能需要确保任务以管理权限运行


常规选项卡-(检查)以最高权限运行

我也遇到了同样的问题

我通过使用相对路径(“logs\log”)而不是之前使用的绝对路径(“U:\workingDirectory\logs\log”)修复了它

通过任务调度器执行脚本时,需要使用相对路径。

我也遇到过同样的问题。 已在任务->运行字段中使用下一个字符串 CMD/C“我的VBScript的完整路径” 喜欢
CMD/C:\Test\MyScript.vbs

我对此有实际问题(一个上午),并找到了以下解决方案:

在windows任务计划程序中,我必须单击“更改用户或组”按钮并添加“管理员”组


希望它能帮助别人

我到处寻找,想弄明白这一点,但现在我明白了,我将与大家分享

在服务器2003上运行良好的脚本,试图移动到服务器2012,但部分脚本无法运行


必须创建新任务,然后在“常规”选项卡上选择“为windows server 2003、windows XP或windows 2000配置”。此选项不适用于2003。如果使用基本任务,则必须使用新任务。

如果您运行的是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服务器™ 2008 R2

在“编辑操作”对话框中,我有:

行动:启动一个程序

程序/脚本:runvbs.bat

开始:c:\inetpub\wwwroot\asp\importstuff\

解决了同样的问题。 脚本将在连接到数据库时失败,然后修复创建Xls文件时失败的问题。 我创建了一个bat文件并添加了以下内容。这个bat文件将调用我的vb脚本并以32位模式运行

%windir%\SysWoW64\cmd.exe /C "c:\windows\system32\cscript.exe //B //nologo C:\ScheduledJobs\PrimeReconDev\myVBScript.vbs"
我设置了任务计划,以执行包含上述内容的bat文件,并将执行用户分配给管理员。通过在“常规”选项卡上单击“更改用户或组”选项来完成此操作。完成后,我能够成功执行,没有任何问题。 我最初是以我的身份执行的,我是administrators组中的一员,但仍然失败。执行内置administrators完成了这项任务。替代解决方案:

► 仅当用户登录时运行

在任务管理器中进行选择


这就是修复为我做的(在3台独立的计算机上-Win7 Pro,Win12 Server)


我希望它能帮助其他人。

这不是讽刺:任务计划程序已经完成了任务的运行。任务本身,或cscript,就是这里的内容。你也在尝试写什么?希望没有任何网络驱动器不提供给管理员。你能以管理员身份登录并尝试运行吗使用脚本查看您会遇到什么错误?您是否依赖于管理员不提供的任何路径或其他环境设置?能否发布Bob的代码?vbs?C#比使用VBScript混日子要好得多。我必须向老板建议:)我遇到的唯一问题是试图直接运行vbs文件(没有通过任何参数)。这是