我在 Windows(win10 和 win11)启动时无法运行 PowerShell 脚本和/或 .exe 文件。我尝试了多种方法:
- 将脚本放入里面
shell:startup
- 使用任务计划程序创建任务
- 将任务作为 Windows 服务运行
有时它会运行,有时它不会运行。我感觉 Windows 会随时运行任务。在 Linux 上,如果我将任务放入 cron 中,它一定会运行。
下面是一个大多数时候不运行(但有时会运行)的 Windows 服务的示例:
我已尝试Automatic
和Automatic (Delayed start)
,但结果是一样的。
如果您好奇的话,我想aria2c.exe
在 RPC 模式下运行,因此我在任务计划程序中为其创建了一个任务。我还想运行一个.ps1
脚本,因此我将其放在启动文件夹中。安装程序默认创建了 VirtioFS 服务以在启动时启动虚拟驱动器。然而,一切都超出了我的控制范围。问题可能是什么原因造成的?
答案1
将 .ps1 脚本复制到shell:startup
只会在默认情况下登录时尝试使用记事本打开该文件(如 .bashrc 条目)。查看在这里回答如何从该文件夹启动 powershell 脚本。
注意:系统启动文件夹实际上是shell:common startup
任务计划程序触发器“当计算机启动时”和“当我登录时”工作正常,但需要正确定义。以管理员身份运行的以下命令可以自动创建一个:
schtasks /create /tn "FileMonitor" /sc onstart /delay 0000:30 /rl highest /ru system /tr "powershell.exe -file C:\Path\To\Script.ps1"
请注意,Windows 默认不会运行任意 powershell 脚本文件。您可以使用 查看Get-ExecutionPolicy -List
,并使用 将其更改Set-ExecutionPolicy Unrestricted -Scope LocalMachine
为以系统身份运行的脚本。
至于特定服务未启动,请检查事件日志。它可能确实启动了,但崩溃了 - 确保您的 virtiofs 驱动程序是最新的