Windows-bat或exe文件设置为开机自动启动项或服务项

前言

之前在Ubuntu18.04上实现了Sakura Frp程序的自启服务,实现开机自动启动frp执行文件,客户机可以直接实现后续的远程连接操作。目前需要在WindowsServer2019上完成frp软件的自启服务,记录一下尝试过的方法。需要提前下载好frpc_windows_amd64.exe执行文件,并且知道自己的frp启动参数,文中以-f 123456789:6666为例。

设置开启启动项

  1. 创建一个.bat文件:D:\Sakurafrp_Windows\sakurafrp.bat,内容为:
frpc_windows_amd64.exe -f 123456789:6666
  1. 创建一个.vbs文件:D:\Sakurafrp_Windows\Sakura_frpc.vbs,内容为:
set ws=WScript.CreateObject("WScript.shell")
ws.Run "sakurafrp.bat /start",0
  1. 找到开机自动启的文件夹:运行栏中键入shell:startup,窗口跳转到目录:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

  2. Sakura_frpc.vbs文件的快捷方式,粘贴进自动启动的文件内,即可实现开机自动启动目标.bat脚本。

博主测试后,的确是可以实现开机自动启动功能,后台也的确可以看到frpc_windows_amd64.exe的运行状态,但是状态不稳定,导致远程连接失效。于是转向设置自定义启动服务。

设置开机自启服务

sc命令

参考:SC命令—安装、开启、配置、关闭windows服务 bat批处理

  1. 注册一个自定义服务
C:\Users\Administrator>sc create sakurafrp binPath= "D:\Sakurafrp_Windows\sakurafrp.bat"
[SC] CreateService 成功
  1. 设置为开机自启服务
C:\Users\Administrator>sc config sakurafrp start=auto
[SC] ChangeServiceConfig 成功
  1. 启动sakurafrp服务报错
C:\Users\Administrator>net start sakurafrp
服务没有响应控制功能。

请键入 NET HELPMSG 2186 以获得更多的帮助。

服务没有响应控制功能这个错误网上没找到特别合适的解决方法,于是使用以下的工具实现开机自启自定义服务操作!不过还是要将刚才的废物服务给删除掉(╬▔皿▔):sc delete sakurafrp

instsrv.exe和srvany.exe工具

参考:将BAT文件注册为windows服务的方法

  1. 软件下载,并转移文件;

    下载地址:srvany.exe和instsrv.exe 正式版,然后将instsrv.exesrvany.exe复制进C:\Windows\System32

  2. 创建自定义服务

以管理员身份运行cmd,在窗口中键入命令:instsrv mySakurafrp C:\Windows\System32\srvany.exemySakurafrp为自定义的服务名称。此时报错:

C:\Windows\system32>instsrv mySakurafrp C:\Windows\System32\srvany.exe

Unable to find the file at the given path.

解决方案参考在64位windows下使用instsrv.exe和srvany.exe创建windows服务,主要还是因为在我们的64位电脑上运行32位instsrv.exesrvany.exe的原因,所以只需要将instsrv.exe和srvany.exe再复制进C:\Windows\SysWOW64即可,再次键入instsrv mySakurafrp C:\Windows\System32\srvany.exe完成自定义服务的创建。

  1. 添加注册表参数

计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mySakuraFrp目录下:

如果该服务名下没有Parameters项目,则对服务名称项目右击新建项,名称为Parameters,然后定位到Parameters项,新建以下几

个字符串值。

名称 Application 值为你要作为服务运行的.bat文件地址。

名称 AppDirectory 值为你要作为服务运行的.bat文件所在文件夹路径。

名称 AppParameters 值为你要作为服务运行的.bat文件启动所需要的参数。

  1. 将服务设置为自动启动

运行栏键入services.msc进入服务窗口,找到自定义服务,设置为自动启动即可!

  1. 重启测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YuanbaoQiang

你的鼓励将是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值