计划任务中的批处理文件返回代码2147942401

Sba*_*nga 7 windows batch-file scheduled-tasks

我正在尝试安排作业以使用Windows 10 Task Scheduler运行批处理文件,但结果为返回码2147942401。

批处理文件位于远程位置,因此我给出了绝对路径
“ \\ server1 \文件传输\数据文件\ inbound \ abc \ csv \ excel-to-csv.bat”

如果我在命令提示符下运行批处理脚本,那么它将正常工作。 属性-一般 动作-编辑动作

批处理脚本是将excel转换为csv的文件。

该脚本的内容是:

FOR /f "delims=" %%i IN ("\\server1\file transfers\Data Files\Inbound\abc\CSV\*.xlsx" ) DO to-csv.vbs  "\\server1\file transfers\Data Files\Inbound\abc\*.xlsx" "%%~ni.csv"
Run Code Online (Sandbox Code Playgroud)

它调用另一个VB脚本是 to-cvs.vbs

如果我按@Steinspecht所述在“操作”选项卡中进行更改(任务计划程序-任务“成功完成”,退出代码为0x8007001),那么我也得到了代码2147942401, 不确定添加自变量是否正确在此处输入图片说明

woo*_*dvi 9

Task Scheduler的错误代码在msdn处以十六进制列出,并且您的代码2147942401转换为十六进制为0x80070001(未在此处列出),但是此超级用户将其描述为“非法函数”。他使用“最简单的任务计划程序设置,现在可以使用”来解决问题。我注意到他仅在用户登录时运行任务,因此他不需要“作为批处理作业登录”。

如果要在未登录时运行批处理作业,则需要一种特殊的特权,称为“作为批处理作业登录”。请注意,您还不需要使用“拒绝作为批处理作业登录”特权。

Social Technet中,您可以使用

  • 输入secpol.msc / s
  • 在MSC管理单元中选择“ 本地策略
  • 选择“ 用户权限分配
  • 右键单击“ 作为批处理作业登录 ”,然后选择“属性”
  • 单击“ 添加用户或组 ”,然后包括相关用户。

本地安全策略管理单元

您的任务将调用网络资源。这些Powershell脚本编写者建议将这些资源带到本地计算机上,以消除任何出现网络/连接性/权限问题的机会。

  • 报告的错误代码 2147942401 实际上是 Windows 表达“代码 1”的方式。根据我的运营人员的说法,其他部分是元数据。当你返回 99 时,它会显示 2147942499。 (2认同)

M H*_*ner 6

即使所有任务计划程序设置,权限等均正确,此错误代码也可能由实际Powershell脚本中的错误/错误引起。在我的情况下,我所引用的目录不存在。


小智 6

我知道一个老问题,但我在 Windows 2016 服务器上收到 2147942401 错误。

如果查看计划任务属性,在“常规”选项卡底部,默认为“配置”:Windows Vista、Windows Server 2008。

改为Windows Server 2016,问题解决。


小智 5

这里抛出错误操作的另一个常见原因"powershell.exe" with return code 2147942401。如果您的操作参数不正确,您也会收到此错误消息。检查操作参数参数和参数值的间隔是否正确。

好例子:

-executionpolicy bypass -file "C:\Scripts\ImportFiles.ps1"
Run Code Online (Sandbox Code Playgroud)

损坏的示例(“文件”参数与其值之间没有空格):

-executionpolicy bypass -file"C:\Scripts\ImportFiles.ps1"
Run Code Online (Sandbox Code Playgroud)