如果想实现一个powersehll脚本每次启动时运行有如下两种风险。

1 可以通过计划任务实现系统启动时执行。
2 通过powersehll命令创建一个守护进程服务,实现系统启动的时候并启动创建的服务来调用脚本。

如下是示例一个创建守护进程服务的过程及删除守护进程服务方法。

# 定义服务名称和描述
$serviceName = "MyDaemonService"
$serviceDescription = "This is my daemon service."

# 定义脚本的路径,需要把ps1文件转换成二进制的exe程序才可以。
$scriptPath = "C:\Path\To\Your\Script.ps1"

# 创建服务
New-Service -Name $serviceName -BinaryPathName "powershell.exe -NoProfile -ExecutionPolicy Bypass -File $scriptPath" -Description $serviceDescription

# 启动服务,可以进入服务管理里面手动启动,或者设置各种启动条件,例如开机自动启动等。
Start-Service -Name $serviceName



#删除创建的服务方法。
#使用 Stop-Service 命令停止服务(如果服务正在运行)。例如:
Stop-Service -Name "ServiceName"

#使用 Set-Service 命令来将服务的启动类型设置为“禁用”(disabled),以确保该服务不会在系统重新启动时再次启动。防止自启动,导致无法删除
Set-Service -Name "ServiceName" -StartupType Disabled

#删除服务注册表项。在注册表中,服务的配置信息存储在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ 键下。使用以下命令删除该键:
Remove-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Services\ServiceName" -Recurse


上述命令中,将 "ServiceName" 替换为要删除的服务的实际名称。
虽然删除服务的步骤可能看起来有些繁琐,但这是确保服务彻底从系统中删除的常见做法。请谨慎执行删除操作,并确保在删除服务之前备份重要数据。