养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

Win10下实现以管理员身份开机自启服务

时间:2024-10-23 19:29:54

笔者安装了一款软件(VisualSVN,版本控制软件的一种),安装完后是以服务的方式存在于系统中,本来是可以在电脑-管理-服务中设置该服务为自动启动的,但是不知道什么原因,导致现在每次开机需要手动开启服务,为此想找一种方法可以开机自启动该服务。

工具/原料

bat文件

方法/步骤

1、刚开始是想着直接把cmd命令netstartVisualSVNServer放在bat文件中,命名startsvnserver.bat,放在系统启动文件夹中。这样开机自启应该就没问题了。

2、但是这样操作以后,开机之后服务还是没有重启。检查了一下,发现直接双击bat文件是没有办法启动服务的,意味着要右键以管理员身份运行才行,但是这样的话,就只能手动操作了。

3、为了免去每次开机都要手动运行的烦恼,试着在bat文件中添加一些命令,在运行netstartVisualSVNServer之前先获得管理员身份,这样就可以执行这个命令了。下面贴出命令,有需要的直接将这些复制到bat文件中@echooff  CLS  ECHO.  ECHO================================  ECHO获取批处理文件管理员权限  ECHO================================  :init  setlocalDisableDelayedExpansion  set"batchPath=%~0"  for%%kin(%0)dosetbatchName=%%~nk  set"vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs"  setlocalEnableDelayedExpansion  :checkPrivileges  NETFILE1>NUL2>NUL  if'%errorlevel%'=='0'(gotogotPrivileges)else(gotogetPrivileges)  :getPrivileges  if'%1'=='ELEV'(echoELEV&shift/1&gotogotPrivileges)  ECHO.  ECHO********************************  ECHO请求UAC权限批准  ECHO********************************  ECHOSetUAC=CreateObject^("Shell.Application"^)>"%vbsGetPrivileges%"  ECHOargs="ELEV">>"%vbsGetPrivileges%"  ECHOForEachstrArginWScript.Arguments>>"%vbsGetPrivileges%"  ECHOargs=args^&strArg^&"">>"%vbsGetPrivileges%"  ECHONext>>"%vbsGetPrivileges%"  ECHOUAC.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>nul2>nul&shift/1)  :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::  rem本行以下添加可你需要的命令  ECHOnetstartVisualSVNServer  ECHO.

4、注意:win10的启动文件夹的打开方式为:win键+R,输入shell:startup将该bat文件放在这里,下次开机就会执行该文件

Win10下实现以管理员身份开机自启服务

Win10下实现以管理员身份开机自启服务

© 一点知识