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

2025-09-28 12:37:02

1、刚开始是想着直接把cmd命令

net start VisualSVNServer

放在bat文件中,命名startsvnserver.bat,放在系统启动文件夹中。这样开机自启应该就没问题了。

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

3、为了免去每次开机都要手动运行的烦恼,试着在bat文件中添加一些命令,在运行net start VisualSVNServer之前先获得管理员身份,这样就可以执行这个命令了。

下面贴出命令,有需要的直接将这些复制到bat文件中

@echo off

  CLS

  ECHO.

  ECHO  ================================

  ECHO  获取批处理文件管理员权限

  ECHO  ================================

  :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

  if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges)

  ECHO.

  ECHO ********************************

  ECHO 请求UAC权限批准

  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)

  :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

  rem 本行以下添加可你需要的命令

  ECHO

       net start VisualSVNServer

  ECHO.

4、注意:win10的启动文件夹的打开方式为:

win键+R,输入shell:startup

将该bat文件放在这里,下次开机就会执行该文件

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

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

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢