首页 文章

PowerShell脚本未与任务计划程序一起运行

提问于
浏览
0

所以我创建了一个安装Windows更新的PowerShell脚本,

您可能知道,在安装更新时,PC可能必须重新启动(当仍有更新时)才能安装脚本 .

我实现的是在脚本开始时导入的任务,并在每次重新启动后运行脚本(并在登录屏幕上安装剩余的脚本),直到没有剩余的脚本 .

在上次更新之后,脚本将从任务计划程序中删除任务 .

我的实现(下载/安装/添加任务/删除任务)完美地工作 .

只是我的脚本在重启后才会运行,我不明白为什么!

这是我的任务:
enter image description here

电脑再次运行's rebooted though, the script doesn' t后,任务调度程序中的错误指出 0x1

我做了一些谷歌搜索并发现参数可能是错误的(第三张图片当然道路是正确的)但我已经尝试过(在参数字段中):

  • (无引号) - 文件路径

  • -ExecutionPolicy Bypass -file path

  • -NoProfile -ExecutionPolicy Bypass -file path -force

  • 混合以上组合添加或遗漏引号

什么可能是任务调度程序不启动我的脚本的问题?

谢谢

EDIT

添加了作为批处理作业属性登录的屏幕截图:

enter image description here

2 回答

  • 0

    试试这个参数,用你的实际路径替换它(如果你的路径有空格):

    -ExecutionPolicy Bypass -file "C:\Path to\script.ps1"

    从错误中,似乎无法运行脚本 . 除此之外,@ TheMadTechnician的评论是准确的 . 从你的图片来看,看起来你正在将任务安排为本地管理员帐户,因此该帐户不应该要求确保启用登录批处理(如果它是真正的本地管理员并且该帐户仍在管理员中服务器上的本地组)

    另请注意 - 如果计划任务在运行时尝试删除自身,则可能存在问题 . 我没有亲自测试过,但您可以构建一个计划的任务,该任务会休眠几分钟,并在测试命令运行时尝试取消注册,以查看是否失败 .

  • 1

    Call the Powershell.exe in your schedulded task:

    C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
    

    Set this Parameters :

    -noprofile -executionpolicy unrestricted -noninteractive -file "C:\Path\To\MyScript.ps1"
    

相关问题