Cmd Runas SC停止带空格的远程服务
我正在使用该命令远程重新启动下的进程。这对于没有空格的服务非常有效,但是如果它有空格,迫使我在Cmd Runas SC停止带空格的远程服务,cmd,syntax-error,runas,Cmd,Syntax Error,Runas,我正在使用该命令远程重新启动下的进程。这对于没有空格的服务非常有效,但是如果它有空格,迫使我在runas“command”引号中使用,,它就会失败,无法找到服务 我已经检查了这个特定服务的属性,以确保服务名称(与显示名称相同) 如图所示,这个脚本工作得很好,但当我注释掉set service=workingservice并取消注释set service='Not a working service时,它就不工作了。另外,如果我使用runas打开它的opencmd.exe,那么我就可以成功地运行s
runas“command”
引号中使用,
,它就会失败,无法找到服务
我已经检查了这个特定服务的属性,以确保服务名称(与显示名称相同)
如图所示,这个脚本工作得很好,但当我注释掉
set service=workingservice
并取消注释set service='Not a working service
时,它就不工作了。另外,如果我使用runas
打开它的opencmd.exe,那么我就可以成功地运行sc
命令,并在服务名称周围加上引号。我通过在runas
下打开一个新的命令提示符来解决这个问题。在新命令提示符中调用另一个执行sc stop service
命令的bat文件。这将删除导致错误的多重引用
我仍在努力将变量从runas
批处理文件传递到sc
批处理文件,以允许%domain%
变量输入到sc
命令中
文件runas.bat
文件sc.bat
(减去原始脚本中的所有虚饰)
@ECHO OFF
REM Prompt for Domain & Username. Password will be prompted when run.
set /P Domainn=Enter Domain Name:
set /P Usern=Enter Username:
set service=workingservice
REM set service='Not a working service'
REM Define Start Stops
set userrunasstop=runas /profile /user:%domainn%\%usern% "sc \\%domainn% stop %service%"
set userrunasstart=runas /profile /user:%domainn%\%usern% "sc \\%domainn% start %service%"
:optionmenu
CLS
ECHO 1 - Stop Service
ECHO 2 - Start Service
ECHO q - Quit
ECHO.
set /P optionnum=Enter command number:
GOTO option%optionnum%
:option1
REM Stop Client
%userrunasstop%
goto optionmenu
:option2
REM Start Client
%userrunasstart%
goto optionmenu
:optionq
EXIT
set /P Domainn=Enter Domain Name:
set /P Usern=Enter Username:
runas /profile /user:%domainn%\%usern% "cmd sc.bat"
set service='Service with spaces'
sc \\domainname stop %service%