PowerShell脚本开机自启动

家里有两台台式机,性能还不错,尤其是其中一台机器插了64GB内存,适用于某些内存消耗量大的工作。因此,我打算做内网穿透,以便在外工作时随时连回家里机器。

配置好frp之后,测试OK,可以从外网访问内网机器。但是问题来了,我下载的frp windows客户端没有开机自启动的选项,它的启动方式是在CMD或PowerShell中输入命令./frpc -c frpc.ini。

如何在系统开机后(而非登录后)自动运行这段PowerShell脚本呢? 方法很简单,写一个PowerShell脚本文件,通过PowerShell命令将其设置为开机自启动即可。

  1. PowerShell脚本文件
    打开记事本,输入启动新frpc进程的命令:
    start-process -FilePath C:\frp\frpc.exe -ArgumentList "-c C:\frp\frpc.ini" -WindowStyle Hidden
    将此文件存为frpc.ps1脚本文件。
  2. 开机时自动运行PowerShell脚本
    由于Windows系统默认策略不允许随意运行脚本文件,所以要更改一下:
    Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope LocalMachine
    定义触发器,设置定时任务:
    $trigger = New-JobTrigger -AtStartup -RandomDelay 00:00:30
    Register-ScheduledJob -Trigger $trigger -FilePath C:\frp\frpc.ps1 -Name StartFrpc

参考资料:

  1. Use PowerShell to Create Job that Runs at Startup
  2. About Execution Policies
posted @ 2019-11-16 18:09  沐见南  阅读(7641)  评论(0编辑  收藏  举报