Discussion:
Script to Import Reservations in DHCP Works on Server 2003 but not on Server 2008
(too old to reply)
Greg H
2009-11-20 14:57:48 UTC
Permalink
We need to import hundreds of DHCP reservations into our DHCP server
with the IP, name, type, MAC address. We have a script that worked
with 2003, importing the IP and MAC address but it does not work with
Windows 2008.

Below is our script. Does anyone have one that works with 2008 or can
help us modify our existing script?

Thanks.

----
Set fso = Wscript.CreateObject

("Scripting.FileSystemObject")

Set shell = Wscript.CreateObject("Wscript.Shell")

Set ipList=fso.OpenTextFile("c:\ListFile.txt", 1, false)

Do While not ipList.AtEndOfStream
rLine=Trim(ipList.readLine)
MAC = Right(rLine, Len(rLine) - InStrRev(rLine, ","))
IP = Left(rLine, InStrRev(rLine, ",") - 1)
If not IP = "" or MAC = "" then
shell.run "netsh dhcp server scope 10.10.0.0 add

reservedip " & IP & " " & MAC, 0, True

End If
Loop

----------------
RemyMaza
2009-11-21 17:23:08 UTC
Permalink
Post by Greg H
We need to import hundreds of DHCP reservations into our DHCP server
with the IP, name, type, MAC address.  We have a script that worked
with 2003, importing the IP and MAC address but it does not work with
Windows 2008.
Below is our script.  Does anyone have one that works with 2008 or can
help us modify our existing script?
Thanks.
----
Set fso = Wscript.CreateObject
("Scripting.FileSystemObject")
Set shell = Wscript.CreateObject("Wscript.Shell")
Set ipList=fso.OpenTextFile("c:\ListFile.txt", 1, false)
Do While not ipList.AtEndOfStream
 rLine=Trim(ipList.readLine)
 MAC = Right(rLine, Len(rLine) - InStrRev(rLine, ","))
 IP = Left(rLine, InStrRev(rLine, ",") - 1)
  If not IP = "" or MAC = "" then
   shell.run "netsh dhcp server scope 10.10.0.0 add
reservedip " & IP & " " & MAC, 0, True
  End If
Loop
----------------
You should be able to simply export the DHCP database and import it
into the 2008 server. Check the links below for help:

http://technet.microsoft.com/en-us/library/cc776587(WS.10).aspx

http://blogs.technet.com/networking/archive/2008/06/27/steps-to-move-a-dhcp-database-from-a-windows-server-2003-or-2008-to-another-windows-server-2008-machine.aspx

Cheers,
Matt
Greg H
2009-11-23 14:16:02 UTC
Permalink
Thanks for the response. That scenario doesn't apply in our
situation. We don't have a database to import. We are moving from
statically assigned IPs to DHCP (yeah, I know, its 2009 and we are
using static IPs. Pretty funny. It's due to Security issues.)

We have a spreadsheet of hundreds of IP addresses of computers that
currently have static IP addresses. When we switch to DHCP, these
computers must have DHCP reservations so they have the same IP
addresses everyday instead of random addresses that DHCP normally
gives out. It's required for security purposes that the IPs not
change on these computers--the security details are too long to get
into.

Thanks,

Greg
Post by RemyMaza
Post by Greg H
We need to import hundreds of DHCP reservations into our DHCP server
with the IP, name, type, MAC address.  We have a script that worked
with 2003, importing the IP and MAC address but it does not work with
Windows 2008.
Below is our script.  Does anyone have one that works with 2008 or can
help us modify our existing script?
Thanks.
----
Set fso = Wscript.CreateObject
("Scripting.FileSystemObject")
Set shell = Wscript.CreateObject("Wscript.Shell")
Set ipList=fso.OpenTextFile("c:\ListFile.txt", 1, false)
Do While not ipList.AtEndOfStream
 rLine=Trim(ipList.readLine)
 MAC = Right(rLine, Len(rLine) - InStrRev(rLine, ","))
 IP = Left(rLine, InStrRev(rLine, ",") - 1)
  If not IP = "" or MAC = "" then
   shell.run "netsh dhcp server scope 10.10.0.0 add
reservedip " & IP & " " & MAC, 0, True
  End If
Loop
----------------
You should be able to simply export the DHCP database and import it
http://technet.microsoft.com/en-us/library/cc776587(WS.10).aspx
http://blogs.technet.com/networking/archive/2008/06/27/steps-to-move-...
Cheers,
Matt
RemyMaza
2009-11-28 15:47:41 UTC
Permalink
Thanks for the response.  That scenario doesn't apply in our
situation.  We don't have a database to import. We are moving from
statically assigned IPs to DHCP (yeah, I know, its 2009 and we are
using static IPs. Pretty funny.  It's due to Security issues.)
We have a spreadsheet of hundreds of IP addresses of computers that
currently have static IP addresses.  When we switch to DHCP, these
computers must have DHCP reservations so they have the same IP
addresses everyday instead of random addresses that DHCP normally
gives out.  It's required for security purposes that the IPs not
change on these computers--the security details are too long to get
into.
Thanks,
Greg
Post by RemyMaza
Post by Greg H
We need to import hundreds of DHCP reservations into our DHCP server
with the IP, name, type, MAC address.  We have a script that worked
with 2003, importing the IP and MAC address but it does not work with
Windows 2008.
Below is our script.  Does anyone have one that works with 2008 or can
help us modify our existing script?
Thanks.
----
Set fso = Wscript.CreateObject
("Scripting.FileSystemObject")
Set shell = Wscript.CreateObject("Wscript.Shell")
Set ipList=fso.OpenTextFile("c:\ListFile.txt", 1, false)
Do While not ipList.AtEndOfStream
 rLine=Trim(ipList.readLine)
 MAC = Right(rLine, Len(rLine) - InStrRev(rLine, ","))
 IP = Left(rLine, InStrRev(rLine, ",") - 1)
  If not IP = "" or MAC = "" then
   shell.run "netsh dhcp server scope 10.10.0.0 add
reservedip " & IP & " " & MAC, 0, True
  End If
Loop
----------------
You should be able to simply export the DHCP database and import it
http://technet.microsoft.com/en-us/library/cc776587(WS.10).aspx
http://blogs.technet.com/networking/archive/2008/06/27/steps-to-move-...
Cheers,
Matt- Hide quoted text -
- Show quoted text -
If the script works for 2003 then run the script on a 2003 DHCP server
then export the database and import it into a 2008 server. That
should work. It's a few extra steps but it should suffice.

Cheers,
Matt

Pegasus [MVP]
2009-11-21 19:56:12 UTC
Permalink
Post by Greg H
We need to import hundreds of DHCP reservations into our DHCP server
with the IP, name, type, MAC address. We have a script that worked
with 2003, importing the IP and MAC address but it does not work with
Windows 2008.
Below is our script. Does anyone have one that works with 2008 or can
help us modify our existing script?
Thanks.
----
Set fso = Wscript.CreateObject
("Scripting.FileSystemObject")
Set shell = Wscript.CreateObject("Wscript.Shell")
Set ipList=fso.OpenTextFile("c:\ListFile.txt", 1, false)
Do While not ipList.AtEndOfStream
rLine=Trim(ipList.readLine)
MAC = Right(rLine, Len(rLine) - InStrRev(rLine, ","))
IP = Left(rLine, InStrRev(rLine, ",") - 1)
If not IP = "" or MAC = "" then
shell.run "netsh dhcp server scope 10.10.0.0 add
reservedip " & IP & " " & MAC, 0, True
End If
Loop
----------------
To debug this issue you need to run a command like the one below from the
Command Console, then see what happens:

netsh dhcp server scope 10.10.0.0 add reservedip 10.10.0.55
02-06-1B-DE-FD-FC
Loading...