1

我使用 Visual Studios '05 在 Visual Basic 中创建了一个自定义 Windows 服务。

Computer Management该服务在我们运行 Windows Server 2003 的服务器上。我已经安装了该服务,当我Start手动进入该服务时它运行完美。

我创建了一个批处理文件来使用该NET START命令启动服务。每当我运行批处理文件时,服务都不会启动。我从命令提示符处收到此消息:

“服务名称”正在启动。

无法启动“服务名称”。该服务没有报告错误。键入 NET HELPMSG 3543 可获得更多帮助。

我不知道该怎么办。(已经“谷歌搜索”了几个小时。)当我手动运行它时它会启动,但它不会通过批处理文件启动。谢谢!

4

1 回答 1

0

尝试强制它在批处理文件中提升。

@ECHO OFF
:: Automatically elevate...

@ECHO OFF
SETLOCAL

:: Check if script was run with administrator privilages
    >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

:: If the error flag is set, we do not have admin.
    IF "%ERRORLEVEL%"=="0" GOTO GOTADMIN

:UACPROMPT
    ECHO. Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    ECHO. UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
    "%TEMP%\getadmin.vbs"
    EXIT /B

:GOTADMIN
    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
    CD /D "%~dp0"
ENDLOCAL
GOTO SCRIPTSTART


:: THE ACTUAL SCRIPT STARTS HERE
:SCRIPTSTART
NET START [whatever service]
于 2012-06-10T17:48:33.090 回答