【问题标题】:VBScript will not run from Powershell script that runs from Windows Task SchedulerVBScript 不会从从 Windows 任务计划程序运行的 Powershell 脚本运行
【发布时间】:2020-07-13 08:00:28
【问题描述】:

全部,

如果我从 Powershell 运行它,我有一个可以在其中运行 VBScript 的有效 Powershell 脚本,但是,如果我在 Windows 2016 中创建计划任务来运行 Powershell 脚本,它永远不会在其中运行 VBScript。

有谁知道如何让计划任务正确运行?

调用vbscript的Powershell代码:

& cscript /nologo "$env:userprofile\wuscripts\nwuemail.vbs";

我是否必须做一些特别的事情才能让任务计划程序在 Powershell 脚本中运行该行? 通过从 Powershell cmd 调用它,powershell 脚本再次与 vbscript 行一起运行良好。

编辑:计划任务正在系统用户下运行。该脚本将在许多服务器上运行,并且为所有服务器设置管理员密码将是一个 PITA,因此如果可能的话,希望避免这种情况。

感谢阅读。

【问题讨论】:

  • 您是否考虑过直接从调度程序运行 vbscript?我还会考虑 $env:userprofile 的价值,因为它不再是您运行它,而是任务调度程序。
  • 如果你只是使用 PowerShell 调用它,你为什么还要使用 VBScript?只需将 .vbs 转换为 .ps1 并调用 .ps1 或如其他评论者所述,只需运行 .vbs。 .ps1 在做什么,.vbs 在做什么?

标签: windows powershell vbscript


【解决方案1】:

试试这个

Start-process "wscript.exe" -ArgumentList "$env:userprofile\wuscripts\nwuemail.vbs"

【讨论】:

    【解决方案2】:

    感谢 BishNaboB,您的评论让我想到了任务用户。它使用的是系统用户而不是脚本所在的管理员。将$env:userprofile 更改为直接路径修复了它。但现在我必须重写脚本的其余部分。

    Mohammed Bizri,我没有尝试您的代码,因为第一条评论帮助我解决了问题,但感谢您的帮助。

    感谢所有评论的人。很棒的社区!

    【讨论】:

      猜你喜欢
      • 2020-08-07
      • 2019-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-31
      • 2013-08-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多