前面记得在两篇文章中提到,如果远程创建、启动、停止、删除远程机器上的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,由此可以计算出一个大概的值