Fandom

Wireless Wiki

FixDHCP script

14pages on
this wiki
Add New Page
Talk0 Share

Welcome! Wireless Wiki is a practical, comprehensive, and objective resource for wireless communications, particularly wireless access to the Internet, and related wireless technologies (e.g., cellular). Founded by John Navas.

Click to Search Wireless Wiki with Google

Contributions and corrections are encouraged and appreciated, but please first visit our Community Portal for Important Policies on Content, Style, What we are, What we aren't, and answers to your questions.


This is a Visual Basic script that tries to fix DHCP problems under Microsoft Windows by releasing and renewing DHCP leases, and then displaying the results. Copy, paste, and save these lines into a file named FixDHCP.vbs. Double-click the file to run it.

' FIXDHCP VERSION 0.2.1 BY JOHN NAVAS
' RELEASE AND RENEW ALL DHCP ADDRESSES, THEN DISPLAY IPCONFIG /ALL

On Error Resume Next

' FORCE USE OF CSCRIPT INSTEAD OF WSCRIPT
UseCscript
Set objStdOut = WScript.StdOut

Dim WshShell, oExec
Set WshShell = CreateObject("WScript.Shell")

' DISPLAY OS AND VERSION
Set oExec = WshShell.Exec("%COMSPEC% /C VER")
output = ""
Do While Not oExec.StdOut.AtEndOfStream
  output = output & oExec.StdOut.ReadAll
  WScript.Sleep 100
Loop
objStdOut.WriteLine output

' PROCESS ALL IP ADAPTERS
Set objWMIService = GetObject("winmgmts:\\" & "." & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( "SELECT *" _
    & " FROM Win32_NetworkAdapterConfiguration" _
    & " Where IPEnabled = True",,48)
For Each objItem in colItems
  DoAdapter objItem
Next

Cmd = "IPCONFIG /ALL"
Set oExec = WshShell.Exec(Cmd)
output = ""
Do While Not oExec.StdOut.AtEndOfStream
  output = output & oExec.StdOut.ReadAll
  WScript.Sleep 100
Loop
objStdOut.WriteLine Cmd & output

objStdOut.WriteLine "This screen may be copied to clipboard" _
  & " for pasting into other Windows:"
objStdOut.WriteLine "Click System Menu icon, Edit -> Mark," _
  & " select text, and Edit -> Copy."
objStdOut.WriteBlankLines 1
objStdOut.Write "Press [Enter] to close..."
objStdOut.Close
Wscript.StdIn.ReadLine

' IF WSCRIPT, SWITCH TO CSCRIPT
Sub UseCscript
  pcengine = LCase(Mid(WScript.FullName, _
    InstrRev(WScript.FullName,"\")+1))
  If Not pcengine="cscript.exe" Then
    Set WshShell = CreateObject("WScript.Shell")
    WshShell.Run "CSCRIPT.EXE """ & WScript.ScriptFullName & """"
    WScript.Quit
  End If
End Sub

' PROCESS IP ADAPTER
Sub DoAdapter(objItem)
    objStdOut.WriteLine objItem.Description
    objStdOut.WriteLine "MACAddress: " & objItem.MACAddress

    objStdOut.WriteLine "DHCPEnabled: " & objItem.DHCPEnabled
    If objItem.DHCPEnabled Then

      objStdOut.Write "Release IP Address..."
      rtrn = objItem.ReleaseDHCPLease()
      if rtrn = 0 Then
	objStdOut.WriteLine "success."
      Else
	objStdOut.WriteLine "failure (" & rtrn & ")!"
      End If

      objStdOut.Write "Renew IP Address..."
      rtrn = objItem.RenewDHCPLease()
      if rtrn = 0 Then
	objStdOut.WriteLine "success."
      Else
	objStdOut.WriteLine "failure (" & rtrn & ")!"
      End If

      objStdOut.WriteLine "DHCPServer: " & objItem.DHCPServer
      objStdOut.WriteLine "DHCPLeaseExpires: " _
	& objItem.DHCPLeaseExpires
      objStdOut.WriteLine "DHCPLeaseObtained: " _
	& objItem.DHCPLeaseObtained
    End If

    For Each strIPAddress in objItem.IPAddress
        objStdOut.WriteLine "IP Address: " & strIPAddress
    Next
    objStdOut.WriteLine "IPConnectionMetric: " _
      & objItem.IPConnectionMetric

    objStdOut.WriteBlankLines 1
End Sub

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.