NPS客户端Windows一键安装脚本
@ECHO off
:感谢"nps内网穿透交流2群"成员"新安?任松"提供的源脚本
:吴诺克在源脚本的基础做了一些优化:
:用户可在输入窗口中输入NPS服务端信息、vkey信息;安装过程中提示当前正在安装的客户端版本、NPS服务端信息;安装后会弹出窗口提示安装完成、客户端vkey信息
:https://douzi.link
:https://cnblogs.com/douzilink
title "权限受限,请使用管理员权限!"
mode con cols=80 lines=20
color 2
CLS
:init
setlocal DisableDelayedExpansion
set "batchPath=%~0"
for %%k in (%0) do set batchName=%%~nk
set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs"
setlocal EnableDelayedExpansion
:checkPrivileges
NET FILE 1>NUL 2>NUL
if '%errorlevel%' == '0' (
goto gotPrivileges
) else (
goto getPrivileges
)
:getPrivileges
title "请求 UAC 权限"
if '%1'=='ELEV' (ECHO ELEV & shift /1 & goto gotPrivileges)
ECHO.
ECHO ********************************
ECHO 请求 UAC 权限批准
ECHO 请点击“是”
ECHO ********************************
ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%"
ECHO args = "ELEV " >> "%vbsGetPrivileges%"
ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%"
ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%"
ECHO Next >> "%vbsGetPrivileges%"
ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%"
"%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %*
exit /B
:gotPrivileges
setlocal & pushd .
cd /d %~dp0
if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 安装过程 ::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:--------------------------------------
title "正在安装NPC服务"
echo 正在安装的客户端版本为:
npc.exe -version
set "starttime=%time%"
ECHO **********************************
set /p Servaddr=请输入服务端地址和端口:
echo 客户端连接密钥就是-vkey=后面的内容
echo ----------------------↓
set /p Srcpath=请输入客户端连接密钥:
ECHO **********************************
echo 正在安装内网穿透服务
npc.exe install -server=%Servaddr% -vkey=%Srcpath% -type=tcp start=auto -auto_reconnection=true
echo 正在启动内网穿透服务
echo 服务端地址为 %Servaddr%
net start nps内网穿透客户端
del npc-update.exe /q
echo 启动完成
(echo 安装完成!&客户端密钥:%Srcpath%&echo 点击"确定"关闭安装程序 )|msg *
:pause
exit
引用&参考:
[1]什么是NPS?
NPS一款轻量级、高性能、功能强大的内网穿透代理服务,NPC是NPS的客户端.
具体可以转到https://ehang-io.github.io/nps/#/查看详情;