执行前等待DHCP的VBScript应答

我正在编写一些在计算机(XP)启动时自动执行的脚本,该脚本实际上是将networking驱动器映射到Windows。 我遇到的问题是networking中的DHCP响应速度不够快,脚本在系统获得IP之前执行。 所以会发生错误。

在将系统置于AD之前,我的解决scheme是使脚本“睡眠”大约30秒,当然这只是一个特别的解决scheme。 任何相关的脚本,可以做这样的工作?

解决这个问题的一个常见的方法就是编写一个“等待networking”的函数,主要是通过ping主机直到成功。 您可以select在脚本最终放弃的位置包含一个超时值。 我有一个基于JScript的版本的这个函数,如果你想我发布它。

我认为更好的方法是使用WMI在循环中查询networking适配器的状态,直到获得有效的IP地址。 我没有这样做的例子。

在select解决scheme时,还有其他一些事情需要考虑。 这将取决于你是多么强大,你关心做到这一点。

  • 仅仅因为DHCP已经返回一个有效的IP并不意味着你可以连接到你的文件服务器
  • 只是因为你可以ping你的文件服务器并不意味着映射驱动器将始终工作

我无法确定从这个问题,但如果PCjoin到域,您可以应用该策略:

计算机configuration\pipe理模板\系统\login\

在计算机启动和login时始终等待networking

通过GPO强制PC在提供login提示之前等待networking。 如果PC不是域名成员,则可以使用GPEdit或者通过重新设置来设置相同的策略。