确保DHCP服务已批量准备就绪

时间:2013-03-18 14:27:49

标签: windows batch-file windows-services dhcp netsh

我想创建一个批处理脚本来更改Windows XP上的接口的IP。可以通过netsh实用程序:

netsh interface ip set address name="Local Area Connection 2" static 10.0.2.2 255.255.255.0 none

但是,netsh实用程序要求启用dhcp服务,即使我们正在设置静态地址。

脚本本身不是由用户运行,而是在系统启动时自动运行,并且无法保证dhcp服务尚未就绪。

当我尝试调用sc start dhcp时,系统会立即返回输出,即使服务尚未就绪(之后调用netsh命令将导致Failed to configure the DHCP service. The interfrace may be disconnected)。

当我在启动服务和运行netsh命令之间等待30秒时,一切正常。然而,等待不是处理这种情况的正确方法。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

wmicsc可以显示服务的运行状态。请参阅this answer

其他注意事项:

在测试时,我发现net start将阻止直到完成,而sc start是非阻塞的。您是否可以使用net代替sc