PowerShell 脚本不是 运行 任务调度程序
PowerShell Script not running with the task scheduler
所以我创建了一个安装 Windows 更新的 PowerShell 脚本,
如您所知,在安装更新时,PC 可能必须重新启动(同时仍有更新)才能安装脚本。
我实施的是一个在脚本开始时导入的任务,并在每次重新启动后 运行s 脚本(并在登录屏幕上安装剩余的脚本)直到没有更多的脚本.
最后一次更新后,脚本将从任务计划程序中删除任务。
我的实现(downloading/installing/adding 任务/删除任务)工作完美。
只是我的脚本在重启后不会 运行,我不知道为什么!
这是我的任务:
电脑重新启动后,脚本不再 运行 并且任务计划程序中的错误状态为 0x1
我进行了一些谷歌搜索,发现参数可能是错误的(当然第三张图片的路径是正确的)但我已经尝试过(在参数字段中):
- (无引号)-文件路径
- -ExecutionPolicy 绕过-文件路径
- -NoProfile -ExecutionPolicy 绕过-文件路径-force
- 将以上组合与添加或省略的引号混合
任务计划程序没有启动我的脚本可能是什么问题?
谢谢
编辑
添加了作为批处理作业登录的屏幕截图:
试试这个参数,用你的实际路径替换它(如果你的路径有空格):
-ExecutionPolicy Bypass -file "C:\Path to\script.ps1"
从错误来看,它似乎无法 运行 脚本。除此之外,@TheMadTechnician 的评论是准确的。从你的照片来看,你似乎正在将任务安排为本地管理员帐户,因此确保该帐户不需要启用登录为批处理(如果它是真正的本地管理员并且该帐户仍在管理员中服务器上的本地组)
另请注意——如果计划任务在 运行ning 期间尝试自行删除,您可能会遇到问题。我没有亲自测试过,但你可以构建一个睡眠几分钟的计划任务,然后在它是 运行 你测试过的命令时尝试注销它,看看是否失败。
在您的计划任务中调用Powershell.exe:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
设置这个参数:
-noprofile -executionpolicy unrestricted -noninteractive -file "C:\Path\To\MyScript.ps1"
问题与我的 START IN 为空有关!
我的脚本在 C:\Scripts\Scripts.ps1
所以我必须填写 C:\Scripts\
。
这就是您需要做的事情 apt 否则 PS 将在它所在的文件夹(Windows 文件夹)中启动。
由于脚本使用了其他文件,我不得不指定START IN路径,之后就解决了。
所以我创建了一个安装 Windows 更新的 PowerShell 脚本,
如您所知,在安装更新时,PC 可能必须重新启动(同时仍有更新)才能安装脚本。
我实施的是一个在脚本开始时导入的任务,并在每次重新启动后 运行s 脚本(并在登录屏幕上安装剩余的脚本)直到没有更多的脚本.
最后一次更新后,脚本将从任务计划程序中删除任务。
我的实现(downloading/installing/adding 任务/删除任务)工作完美。
只是我的脚本在重启后不会 运行,我不知道为什么!
这是我的任务:
电脑重新启动后,脚本不再 运行 并且任务计划程序中的错误状态为 0x1
我进行了一些谷歌搜索,发现参数可能是错误的(当然第三张图片的路径是正确的)但我已经尝试过(在参数字段中):
- (无引号)-文件路径
- -ExecutionPolicy 绕过-文件路径
- -NoProfile -ExecutionPolicy 绕过-文件路径-force
- 将以上组合与添加或省略的引号混合
任务计划程序没有启动我的脚本可能是什么问题?
谢谢
编辑
添加了作为批处理作业登录的屏幕截图:
试试这个参数,用你的实际路径替换它(如果你的路径有空格):
-ExecutionPolicy Bypass -file "C:\Path to\script.ps1"
从错误来看,它似乎无法 运行 脚本。除此之外,@TheMadTechnician 的评论是准确的。从你的照片来看,你似乎正在将任务安排为本地管理员帐户,因此确保该帐户不需要启用登录为批处理(如果它是真正的本地管理员并且该帐户仍在管理员中服务器上的本地组)
另请注意——如果计划任务在 运行ning 期间尝试自行删除,您可能会遇到问题。我没有亲自测试过,但你可以构建一个睡眠几分钟的计划任务,然后在它是 运行 你测试过的命令时尝试注销它,看看是否失败。
在您的计划任务中调用Powershell.exe:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
设置这个参数:
-noprofile -executionpolicy unrestricted -noninteractive -file "C:\Path\To\MyScript.ps1"
问题与我的 START IN 为空有关!
我的脚本在 C:\Scripts\Scripts.ps1
所以我必须填写 C:\Scripts\
。
这就是您需要做的事情 apt 否则 PS 将在它所在的文件夹(Windows 文件夹)中启动。
由于脚本使用了其他文件,我不得不指定START IN路径,之后就解决了。