none
помогите написать скрипт на VBS RRS feed

  • Вопрос

  • Добрый день. Надо сделать так, что бы скрипт проверял как настроен сетевой адаптер и если у него статический IP, то переключал на DHCP как сам IP, так и получение DNS-серверов. Я накидал немного, но вот с условием так и не придумал. У меня получилось так
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

    Set colNetAdapters = objWMIService.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
     
    For Each objNetAdapter In colNetAdapters

       errEnable = objNetAdapter.EnableDHCP()
       errEnable = objNetAdapter.SetDNSServerSearchOrder(dhcp)

    Next

    4 марта 2010 г. 14:03

Все ответы

  • >Я накидал немного, но вот с условием так и не придумал

    А зачем условие? Пусть выполняется безусловно.
    4 марта 2010 г. 15:24
  • а мне надо, что бы все машины в сети перешли на DHCP. Впрочем, я уже решил :) Если кому интересно, то условие делается так
    If Not IsNull(objNetAdapter.DHCPServer) Then
    5 марта 2010 г. 6:27
  • >а мне надо, что бы все машины в сети перешли на DHCP

    так они и без всякого условия перешли бы ;)
    5 марта 2010 г. 9:33
  • Ну я бы еще проверку адреса на адаптере сделал - интерфесы могут быть и не физические и DHCP им может и не нужен:
       For Each strIP in objNetAdapter.IPAddress
          If Instr(strIP,"192.168.") Then
    И для 2000 мне пришлось запускать:
    Const HKEY_LOCAL_MACHINE = &H80000002
    Set WshShell = WScript.CreateObject("WScript.Shell")
    Set objReg = GetObject( "winmgmts://./root/default:StdRegProv")
    objReg.EnumKey HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces", sCardNumbers
    For i = lbound(sCardNumbers) to ubound(sCardNumbers)
     objReg.GetDWORDValue HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\" & sCardNumbers(i), "EnableDHCP", sDHCP
      If sDHCP =1 Then
       WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\" & sCardNumbers(i) & "\DefaultGateway"
      End If
    Next

    16 марта 2010 г. 10:52
  • У меня есть в блоге все нужное для удаленного включения DHCP, но только не на VBS, а на Powershell http://mvp.itcommunity.ru/blogs/sie-wl/archive/2009/10/14/80037.aspx
    Сазонов Илья http://www.itcommunity.ru/blogs/sie-wl/
    16 марта 2010 г. 11:59
    Модератор