其他服务器上的批处理脚本服务停止启动问题

时间:2015-02-09 13:33:57

标签: batch-file

嗨我想知道一个剧本..

sc \\serverXXX stop serviceABC
timeout /t 2

我是从serverYYY开始运行此... sc如何登录serverXXX停止服务serviceABC ??

请帮忙

1 个答案:

答案 0 :(得分:0)

SC为您提供了在\\ SERVERNAME上执行命令的选项(如果需要)。如果您还想传递用户名和密码,请使用以下命令:

SC \\SERVERNAME STOP myService obj= Username password= Password

如果要在本地系统上执行simplay,请跳过servername。

有关SC检查的更多信息http://ss64.com/nt/sc.html

编辑:

要从评论中回答您的问题,请输入以下代码:

SC \\SERVERNAME START serviceAAA obj= username password= password
:WAITINGFORSERVICEAAA
PING -n 10 127.0.0.1 > NUL
FOR /f "tokens=2 delims= " %%a IN (
    'wmic /node:"\\SERVERNAME" service get name^,state /format:TABLE ^| findstr /i /r /c:"serviceAAA"'
) DO SET state=%%a
IF NOT %state%==Running (
    GOTO WAITINGFORSERVICEAAA
)
SC \\SERVERNAME START serviceBBB obj= username password= password

此代码的作用是启动serviceAAA,然后等待10秒并检查serviceAAA的状态是否为正在运行。如果不是这种情况,它会跳回来,再等10秒钟,依此类推。一旦状态正在运行,它就会退出循环并启动serviceBBB。