前面记得在两篇文章中提到,如果远程创建、启动、停止、删除远程机器上的windows service,下面就是一个RPC的例子。
1,批处理RPC:
set TestService_SrcPath=d$\Test\(080909)TestService
set SERVICE_NAME=ServiceName
set SERVICE_Description=descrption Service
For /f %%C in (listofserver.txt) do (
sc \\%%C stop %SERVICE_NAME%
ping localhost -n 10::因为有时候没有stop就开始start了会失败,所以等待一下
sc \\%%C start %SERVICE_NAME%
)
echo ok
pause
set SERVICE_NAME=ServiceName
set SERVICE_Description=descrption Service
For /f %%C in (listofserver.txt) do (
sc \\%%C stop %SERVICE_NAME%
ping localhost -n 10::因为有时候没有stop就开始start了会失败,所以等待一下
sc \\%%C start %SERVICE_NAME%
)
echo ok
pause
命令说明:SC [Servername] command Servicename [Optionname= Optionvalues]
文件 listofserver.txt存放着要操作的被远程调用的machine name list
2,前面的文章提到过,如何在批处理里等待一段时间呢,因为bat中并没有sleep命令,上文说的是使用自己定义的一个sleep.exe文件来等
其实,dos命令中也有变通的方法,常见的就是ping 命令的使用来等待.
ping localhost -n 10::即为发送10个数据包,每个用时差不多1s,由此可以计算出一个大概的值