15

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

出于某种原因,当我以管理用户身份在任务计划程序下运行它时,它会运行,但甚至不会写入我的日志文件。它不应该是权限,因为我运行它的用户是管理员。

它是在 Win2008 64 位机器上调用 32 位 dll 的脚本。

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

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

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

此外,任务调度程序中还有其他脚本运行良好,它只是这个脚本。

有人有我可以检查的东西的清单吗?

4

13 回答 13

8

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

于 2011-12-18T02:37:59.337 回答
7

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

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

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

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

于 2009-03-20T10:57:24.860 回答
6

如果您正在运行 Win2008 64 位机器:这(最终)在同一台服务器上为我工作。任务调度程序运行一个批处理文件(例如 runvbs.bat)以使用 32 位版本的命令行解释器调用 cscript,如下所示:

@echo off
%windir%\syswow64\cmd.exe /C "c:\windows\system32\cscript.exe //B //nologo import_some_data.vbs"

注意双引号

我使用管理员组获得权限并以最高权限运行。

配置:Windows® 7、Windows Server™ 2008 R2

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

行动:启动程序

程序/脚本:runvbs.bat

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

于 2015-10-14T15:53:12.660 回答
5

我对此有真正的问题(早上好),并在这里找到了这个解决方案:

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

希望它可以帮助某人。

于 2014-05-23T09:36:04.603 回答
1

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

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

于 2013-07-03T17:01:35.090 回答
1

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

%windir%\SysWoW64\cmd.exe /C "c:\windows\system32\cscript.exe //B //nologo C:\ScheduledJobs\PrimeReconDev\myVBScript.vbs"

我设置了任务计划以执行具有上述内容的我的 bat 文件,并将执行用户划分为管理员。通过在常规选项卡上唱“更改用户或组”选项来执行此操作。一旦完成,我就能够成功执行没有问题。我最初以我的身份执行并且我在管理员组中,但它仍然失败。以内置管理员的身份执行就可以了

于 2016-03-03T23:03:20.863 回答
0

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

于 2009-03-20T04:49:44.010 回答
0

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

您说它运行但不写入您的日志 - 它是否可能在写入您的日志之前崩溃?

如果您还没有,请在您的脚本中添加错误处理并尝试记录任何错误,或者至少尝试跟踪它在脚本中的进度。

于 2009-03-20T05:03:59.857 回答
0

在我将存储 bat 作业的路径添加到操作选项卡上的Start in之前,我遇到了同样的问题。

右键单击任务→属性→操作→编辑开始(可选)

只需填写您的蝙蝠工作的路径。

于 2012-08-08T14:16:49.447 回答
0

我有同样的问题。

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

显然,当您通过任务调度程序执行脚本时,您需要使用相对路径。

于 2013-07-11T15:34:35.823 回答
0

我有同样的问题。在 Task -> Run field CMD /C "full path to my VBScript" 中使用下一个字符串,如 CMD /C c:\Test\MyScript.vbs

于 2014-03-27T07:03:21.613 回答
0

到处寻找这个,但现在我知道了,我会分享。

有在服务器 2003 上运行良好的脚本,尝试移动到服务器 2012 并且部分脚本无法运行。

必须创建一个新任务并在常规选项卡上选择“windows server 2003、Windows XP 或 Windows 2000 的配置。如果您使用基本任务,则此选项不允许用于 2003,您必须使用新任务。

于 2015-03-30T16:56:30.673 回答
0

替代解决方案:

仅在用户登录时运行

在任务管理器中进行选择。


这就是为我解决的问题(在 3 台单独的计算机上 - Win7 Pro、Win12 Server)

我希望它可以帮助别人。

于 2017-06-28T20:19:03.223 回答