<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx</link><description>Reservation Manager - A tool to manage reservations Reservation Manager: Reservations are a critical feature in the DHCP server. Reservations’ are generally used for centralized static IP address assignment for critical machines. This way the IP address</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Microsoft DHCP Team Blogs. : DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#457441</link><pubDate>Tue, 19 Sep 2006 12:03:02 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:457441</guid><dc:creator>Microsoft DHCP Team Blogs. : DHCP Reservation Tool</dc:creator><description>PingBack from &lt;a rel="nofollow" target="_new" href="http://blogs.technet.com/teamdhcp/archive/2006/09/19/457383.aspx"&gt;http://blogs.technet.com/teamdhcp/archive/2006/09/19/457383.aspx&lt;/a&gt;</description></item><item><title>DHCP Reservation Manager - A tool to manage reservations</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#555226</link><pubDate>Thu, 14 Dec 2006 11:38:09 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:555226</guid><dc:creator>&amp;nbsp</dc:creator><description>&lt;p&gt;Reservations are a critical feature in the DHCP server. Reservations are generally used for centralized&lt;/p&gt;
</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#665372</link><pubDate>Wed, 28 Feb 2007 13:43:17 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:665372</guid><dc:creator>...</dc:creator><description>&lt;p&gt;Very nice site! Good work.&lt;/p&gt;</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#701059</link><pubDate>Tue, 20 Mar 2007 05:43:01 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:701059</guid><dc:creator>...</dc:creator><description>&lt;p&gt;Great site! Good luck to it's owner!&lt;/p&gt;</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#749253</link><pubDate>Wed, 11 Apr 2007 14:44:46 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:749253</guid><dc:creator>...</dc:creator><description>&lt;p&gt;pagine piuttosto informative, piacevoli =)&lt;/p&gt;</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#760381</link><pubDate>Fri, 13 Apr 2007 17:05:51 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:760381</guid><dc:creator>...</dc:creator><description>&lt;P&gt;9 su 10! Ottenerlo! Siete buoni!&lt;/P&gt;</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#1607063</link><pubDate>Wed, 25 Jul 2007 15:05:35 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1607063</guid><dc:creator>Dragman</dc:creator><description>&lt;p&gt;Didn’t work for me I get error&lt;/p&gt;
&lt;p&gt;C:\rmanager.vbs(681, 4) Microsoft VBScript runtime error: Subscript out of range&lt;/p&gt;
&lt;p&gt;: '[number: 0]'&lt;/p&gt;
&lt;p&gt;when I use the command&lt;/p&gt;
&lt;p&gt;cscript rmanager.vbs Rmanager -dumplease out.txt 120.0.0.1 all&lt;/p&gt;</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#1662626</link><pubDate>Tue, 31 Jul 2007 19:50:50 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1662626</guid><dc:creator>gsporter</dc:creator><description>&lt;p&gt;Any sugguestions why when I do a&lt;/p&gt;
&lt;p&gt; -dumplease &lt;/p&gt;
&lt;p&gt; -makereservation &lt;/p&gt;
&lt;p&gt;I get the message &amp;quot;improper format&amp;quot;&lt;/p&gt;
&lt;p&gt;I am getting a scopefile.txt&lt;/p&gt;
&lt;p&gt;==============================================================================&lt;/p&gt;
&lt;p&gt; Scope Address &amp;nbsp;- Subnet Mask &amp;nbsp; &amp;nbsp;- State &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- Scope Name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- &amp;nbsp;Comment &amp;nbsp; &lt;/p&gt;
&lt;p&gt;==============================================================================&lt;/p&gt;
&lt;p&gt; 172.22.0.0 &amp;nbsp; &amp;nbsp; - 255.255.0.0 &amp;nbsp; &amp;nbsp;-Active &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;-CRN-Domian &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt; Total No. of Scopes = 1 &lt;/p&gt;
&lt;p&gt;Command completed successfully.&lt;/p&gt;
&lt;p&gt;Thanks for your attention to this matter,&lt;/p&gt;
&lt;p&gt;Greg Porter&lt;/p&gt;
</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#1675578</link><pubDate>Thu, 02 Aug 2007 00:11:28 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1675578</guid><dc:creator>DanITP</dc:creator><description>&lt;p&gt;Same as above, only getting a VBScript runtime error: Subscript out of range: '[number: 0]'&lt;/p&gt;
&lt;p&gt;The dumplease works great, the makereservation is when I get the error.&lt;/p&gt;</description></item><item><title>A Couple of Bug Fixes to this script</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#2036867</link><pubDate>Tue, 25 Sep 2007 00:57:23 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2036867</guid><dc:creator>ronsdavis</dc:creator><description>&lt;p&gt;Line 393 needs to be changed to &lt;/p&gt;
&lt;p&gt;k = checkiprange(line2(3),line2(14),iparray3(j))&lt;/p&gt;
&lt;p&gt;line2(13) is an empty location in the array&lt;/p&gt;
&lt;p&gt;A line needs to be added after line 529&lt;/p&gt;
&lt;p&gt;Else string1=string1&amp;amp;str2(i)&lt;/p&gt;
&lt;p&gt;The original script did not append any values higher than 99 to the string, leading to false range failures. &lt;/p&gt;
&lt;p&gt;The same change needs to be added after the other strings&lt;/p&gt;
&lt;p&gt;after Line 537&lt;/p&gt;
&lt;p&gt;Else string2=string2&amp;amp;str3(i)&lt;/p&gt;
&lt;p&gt;after line 547&lt;/p&gt;
&lt;p&gt;Else string3=string3&amp;amp;str4(i)end if&lt;/p&gt;
&lt;p&gt;Good tool after I fixed it though. :)&lt;/p&gt;
</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#2115672</link><pubDate>Fri, 05 Oct 2007 20:19:24 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2115672</guid><dc:creator>dallas4u</dc:creator><description>&lt;p&gt;Hey... tool worked great at syncing all reservations made between two DHCP servers, same subnet. &amp;nbsp;Issue is, the reservations didn't keep their names and descriptions... they are there, but blank (just IP and MAC). &amp;nbsp;Is there a way to sync and keep this info intact? &amp;nbsp;Should I just run a 'migration' instead of a 'sync'?&lt;/p&gt;
</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#2618968</link><pubDate>Fri, 07 Dec 2007 03:54:19 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2618968</guid><dc:creator>Matthew Flook</dc:creator><description>&lt;p&gt;I'd really like to use this tool, but I get the following error when running this command on SBS 2003 SP2:&lt;/p&gt;
&lt;p&gt;cscript rmanager.vbs Rmanager -makereservation 127.0.0.1 out.txt&lt;/p&gt;
&lt;p&gt;rmanager.vbs(523, 1)...runtime error: Type mismatch: 'cint'&lt;/p&gt;
&lt;p&gt;What am I doing wrong?&lt;/p&gt;</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#2757381</link><pubDate>Fri, 18 Jan 2008 23:56:30 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2757381</guid><dc:creator>Alan Kaplan</dc:creator><description>&lt;p&gt;The support for DHCP script remains inadequate. &amp;nbsp;The enumeration of DHCP clients should contain the same fields that are in the MMC. &amp;nbsp;Leaving out the NAME of the computer with the lease is a major problem. &amp;nbsp;Worse, this information has never been available. &amp;nbsp;Not in dhcpobjs.dll. &amp;nbsp;Not in DHCPCMD.EXE, and not in WMI. &amp;nbsp;How about an ODBC connector for DHCP? &amp;nbsp;Nope. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;It is depressing to see this elaborate vbscript that serves only as a front end for shell commands to netsh.&lt;/p&gt;</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#2949775</link><pubDate>Sat, 01 Mar 2008 21:58:49 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2949775</guid><dc:creator>Suheyla Ikiz</dc:creator><description>&lt;p&gt;Hello, &lt;/p&gt;
&lt;p&gt;We have the same error as above. We also got an error to addreservedip, imporper file format. Could you give an example of output.txt ( in this case it is inout file actually but the same aim in sense). Do we have to write ipaddress and macaddress coulumn name at the begining of the file and what sould be the seperator between the values ?&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#2993337</link><pubDate>Thu, 13 Mar 2008 05:24:28 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2993337</guid><dc:creator>Terry Crockett</dc:creator><description>&lt;p&gt;I am running -dumplease on scopes that have reservations&lt;/p&gt;
&lt;p&gt;If the lease is the result of a reservation the out.txt file only contains the IP of the lease. &amp;nbsp;There is no corresponding MAC address. &amp;nbsp;How can I modify the script so that MAC addresses for reserved leases will be written to out.txt?&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;
&lt;p&gt;TNC&lt;/p&gt;</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#3026963</link><pubDate>Thu, 03 Apr 2008 00:10:24 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3026963</guid><dc:creator>Matt H.</dc:creator><description>&lt;p&gt;Our DHCP servers have multiple scopes. All of the scopes are configured for subnets other than the one for which our DHCP servers reside on. 99% per of our reservations are for one particular subnet. If I used this tool, would actually work since the scope subnets and the DHCP servers subnet are different? If thats not a problem, will it just then copy over all reservations for each scope or can I define which scope to sync?&lt;/p&gt;</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#3042008</link><pubDate>Mon, 21 Apr 2008 22:45:57 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3042008</guid><dc:creator>Ben</dc:creator><description>&lt;p&gt;I'm working on an internal project to basically remove all &amp;quot;stale&amp;quot; dhcp reservations from our dhcp servers. &amp;nbsp;The process I'm assuming would require exporting all the reservations from the dhcp server, doing some verification (ie. Ping) to see if the server still responds, then removing the reservations. &amp;nbsp;I found your script and going to give it a try. &amp;nbsp;Before I get too deep into this, I was wondering if you knew of a tool or utility that already does this without me having to script something.&lt;/p&gt;</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#3114711</link><pubDate>Sun, 31 Aug 2008 03:20:10 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3114711</guid><dc:creator>Paul D.</dc:creator><description>&lt;p&gt;Has anyone tried the fixes posted by ronsdavis? If you have does it fix the problem? &amp;nbsp;Has anyone found another utiliy better than this one?&lt;/p&gt;</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#3238653</link><pubDate>Mon, 11 May 2009 11:01:08 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3238653</guid><dc:creator>Fortune Wang</dc:creator><description>&lt;p&gt;Hi All,&lt;/p&gt;
&lt;p&gt;I runing this script in my dhcp server,but get following error. what happen? please help me!!&lt;/p&gt;
&lt;p&gt;=============Begin==============&lt;/p&gt;
&lt;p&gt;E:\&amp;gt;cscript rmanager.vbs Rmanager -dumplease d:\test.txt 192.168.116.0 all&lt;/p&gt;
&lt;p&gt;Microsoft (R) Windows Script Host Version 5.6&lt;/p&gt;
&lt;p&gt;Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.&lt;/p&gt;
&lt;p&gt;server 192.168.116.0 not present or is entered wrongly&lt;/p&gt;
&lt;p&gt;=============End==============&lt;/p&gt;</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#3238670</link><pubDate>Mon, 11 May 2009 11:47:54 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3238670</guid><dc:creator>teamdhcp</dc:creator><description>&lt;p&gt;DHCP server IP address does not seem to be right, please check this.&lt;/p&gt;
&lt;p&gt;Can you also try doing the following on command prompt and share the results.&lt;/p&gt;
&lt;p&gt;&amp;quot;netsh dhcp server 192.168.116.0 show scope&amp;quot;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Subhash&lt;/p&gt;
</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#3239930</link><pubDate>Tue, 12 May 2009 21:55:45 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3239930</guid><dc:creator>Rahul</dc:creator><description>&lt;p&gt;Dumping lease works, but reservation fails. Downloaded rmanager.vbs file and get same error as Matthew Flook. &lt;/p&gt;
&lt;p&gt;C:\WINDOWS\system32\dhcp&amp;gt;cscript.exe rmanager.vbs Rmanager -makereservation 10.1&lt;/p&gt;
&lt;p&gt;44.0.99 out.txt&lt;/p&gt;
&lt;p&gt;Microsoft (R) Windows Script Host Version 5.6&lt;/p&gt;
&lt;p&gt;Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.&lt;/p&gt;
&lt;p&gt;C:\WINDOWS\system32\dhcp\rmanager.vbs(523, 1) Microsoft VBScript runtime error:&lt;/p&gt;
&lt;p&gt;Subscript out of range: '[number: 0]'&lt;/p&gt;
&lt;p&gt;Copy/pasted provided code in notepad, saved as rmanager.vbs and now getting improper file format error.&lt;/p&gt;
&lt;p&gt;Any idea where to get an working file?!...&lt;/p&gt;</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#3240077</link><pubDate>Wed, 13 May 2009 07:25:19 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3240077</guid><dc:creator>teamdhcp</dc:creator><description>&lt;p&gt;Your query seems to have been already answered by &amp;quot;ronsdavis&amp;quot;.&lt;/p&gt;
&lt;p&gt;Please check it, if it resolves your issue and get back if it does not.&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;SB&lt;/p&gt;
</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#3260426</link><pubDate>Wed, 01 Jul 2009 18:28:49 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3260426</guid><dc:creator>Eric</dc:creator><description>&lt;p&gt;I received the same error as Matthew Flook until I made the change listed by &amp;quot;ronsdavis&amp;quot;. Now I'm receiving a similar error as Rahul, &amp;quot;subscript out of range: '[number:14]'.&lt;/p&gt;
&lt;p&gt;Any thoughts? Thank you! I look forward to using this tool!&lt;/p&gt;</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#3260613</link><pubDate>Thu, 02 Jul 2009 06:35:55 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3260613</guid><dc:creator>teamdhcp</dc:creator><description>&lt;p&gt;I have modified the tool with some prints for debugging and made the tool working. I am even pasting the out.txt just to make sure you are writing the out.txt in the proper format.&lt;/p&gt;
&lt;p&gt;call start()&lt;/p&gt;
&lt;p&gt;dim scopes&lt;/p&gt;
&lt;p&gt;dim synccount&lt;/p&gt;
&lt;p&gt;dim argerror&lt;/p&gt;
&lt;p&gt;dim iparray&lt;/p&gt;
&lt;p&gt;dim macarray&lt;/p&gt;
&lt;p&gt;dim finaliparray&lt;/p&gt;
&lt;p&gt;dim finalmacarray&lt;/p&gt;
&lt;p&gt;dim m&lt;/p&gt;
&lt;p&gt;dim args&lt;/p&gt;
&lt;p&gt;sub start()&lt;/p&gt;
&lt;p&gt; args=0 &lt;/p&gt;
&lt;p&gt; synccount=0&lt;/p&gt;
&lt;p&gt; argerror=0&lt;/p&gt;
&lt;p&gt; if(wscript.arguments.count=0) then&lt;/p&gt;
&lt;p&gt; wscript.echo &amp;quot;enter the command&amp;quot;&lt;/p&gt;
&lt;p&gt; exit sub&lt;/p&gt;
&lt;p&gt; end if&lt;/p&gt;
&lt;p&gt; for i=0 to wscript.arguments.count-1&lt;/p&gt;
&lt;p&gt; if(i=0) then&lt;/p&gt;
&lt;p&gt; str=wscript.arguments.item(i)&lt;/p&gt;
&lt;p&gt; else&lt;/p&gt;
&lt;p&gt; str=str&amp;amp;&amp;quot; &amp;quot;&amp;amp;wscript.arguments.item(i)&lt;/p&gt;
&lt;p&gt; end if &lt;/p&gt;
&lt;p&gt; next&lt;/p&gt;
&lt;p&gt; str1=split(str)&lt;/p&gt;
&lt;p&gt; 'show error if nothing is entered------------&lt;/p&gt;
&lt;p&gt; if (not isarray(str1)) then&lt;/p&gt;
&lt;p&gt; wscript.echo &amp;quot;Error: unrecongnized or incomplete command line.&amp;quot;&lt;/p&gt;
&lt;p&gt; call helpfile()&lt;/p&gt;
&lt;p&gt; exit sub&lt;/p&gt;
&lt;p&gt; end if&lt;/p&gt;
&lt;p&gt; 'checking if the command is Rmanager or not&lt;/p&gt;
&lt;p&gt; if(strcomp(&amp;quot;Rmanager&amp;quot;,str1(0))&amp;lt;&amp;gt;0) then&lt;/p&gt;
&lt;p&gt; wscript.echo &amp;quot;Error: unrecongnized or incomplete command line.&amp;quot;&lt;/p&gt;
&lt;p&gt; call helpfile()&lt;/p&gt;
&lt;p&gt; exit sub&lt;/p&gt;
&lt;p&gt; end if&lt;/p&gt;
&lt;p&gt; 'checking for different cases after Rmanager&lt;/p&gt;
&lt;p&gt; if(ubound(str1)=0) then&lt;/p&gt;
&lt;p&gt; wscript.echo &amp;quot;Error: unrecongnized or incomplete command line.&amp;quot;&lt;/p&gt;
&lt;p&gt; call helpfile()&lt;/p&gt;
&lt;p&gt; exit sub&lt;/p&gt;
&lt;p&gt; end if&lt;/p&gt;
&lt;p&gt; select case str1(1)&lt;/p&gt;
&lt;p&gt; case &amp;quot;-migrate&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp;call migrate(str1)&lt;/p&gt;
&lt;p&gt; case &amp;quot;-sync&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp;call migrate(str1)&lt;/p&gt;
&lt;p&gt; &amp;nbsp;if(argerror=1) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp;exit sub&lt;/p&gt;
&lt;p&gt; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp;synccount=1&lt;/p&gt;
&lt;p&gt; &amp;nbsp;a=str1(2)&lt;/p&gt;
&lt;p&gt; &amp;nbsp;str1(2)=str1(3)&lt;/p&gt;
&lt;p&gt; &amp;nbsp;str1(3)=a&lt;/p&gt;
&lt;p&gt; &amp;nbsp;call migrate(str1) &lt;/p&gt;
&lt;p&gt; case &amp;quot;-dumplease&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp;call dump(str1)&lt;/p&gt;
&lt;p&gt; case &amp;quot;-makereservation&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp;call makereservation(str1)&lt;/p&gt;
&lt;p&gt; case &amp;quot;/?&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp;call helpfile()&lt;/p&gt;
&lt;p&gt; case else&lt;/p&gt;
&lt;p&gt; &amp;nbsp;wscript.echo &amp;quot;Error: unrecongnized or incomplete command line.&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp;call helpfile()&lt;/p&gt;
&lt;p&gt; &amp;nbsp;end select&lt;/p&gt;
&lt;p&gt;'delete the scopefile that is created during the program &lt;/p&gt;
&lt;p&gt;set fso = createobject(&amp;quot;Scripting.FileSystemObject&amp;quot;)&lt;/p&gt;
&lt;p&gt;if(fso.fileexists(&amp;quot;scopefile.txt&amp;quot;))then&lt;/p&gt;
&lt;p&gt;fso.deletefile(&amp;quot;scopefile.txt&amp;quot;),true&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt;end sub&lt;/p&gt;
&lt;p&gt;' function for dumplease&lt;/p&gt;
&lt;p&gt;sub dump(str1)&lt;/p&gt;
&lt;p&gt;'if improper arguments are entered show error&lt;/p&gt;
&lt;p&gt;if ubound(str1)&amp;lt;4 then &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/p&gt;
&lt;p&gt;wscript.echo &amp;quot;Error: unrecongnized or incomplete command line.&amp;quot;&lt;/p&gt;
&lt;p&gt;call helpfile()&lt;/p&gt;
&lt;p&gt;exit sub&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt;filename = str1(2)&lt;/p&gt;
&lt;p&gt;set fso = createobject(&amp;quot;Scripting.FileSystemObject&amp;quot;)&lt;/p&gt;
&lt;p&gt; Set outfile = fso.CreateTextFile(filename)&lt;/p&gt;
&lt;p&gt; outfile.close&lt;/p&gt;
&lt;p&gt;p=checkserver(str1(3))&lt;/p&gt;
&lt;p&gt;if p=0 then&lt;/p&gt;
&lt;p&gt;wscript.echo &amp;quot;server &amp;quot;&amp;amp;str1(3)&amp;amp;&amp;quot; not present or is entered wrongly&amp;quot;&lt;/p&gt;
&lt;p&gt;exit sub&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt;serverarray = makescopearray(scopes)&lt;/p&gt;
&lt;p&gt;if not isarray(serverarray) then&lt;/p&gt;
&lt;p&gt;wscript.echo &amp;quot;no scopes in server &amp;quot;&amp;amp;str1(3)&lt;/p&gt;
&lt;p&gt;exit sub&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt;if (strcomp(str1(4),&amp;quot;all&amp;quot;)=0) then &lt;/p&gt;
&lt;p&gt; if(ubound(str1)=4) then&lt;/p&gt;
&lt;p&gt; scope = serverarray&lt;/p&gt;
&lt;p&gt; else&lt;/p&gt;
&lt;p&gt; wscript.echo &amp;quot;improper arguments&amp;quot;&lt;/p&gt;
&lt;p&gt; end if&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;for i = 4 to ubound(str1)&lt;/p&gt;
&lt;p&gt;if(isscope(str1(i),serverarray)) then&lt;/p&gt;
&lt;p&gt;redim preserve scope(i-4)&lt;/p&gt;
&lt;p&gt;scope(i-4)=str1(i)&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;wscript.echo &amp;quot;scope &amp;quot;&amp;amp; str1(i) &amp;amp;&amp;quot; is not present in server &amp;quot;&amp;amp;str1(3)&lt;/p&gt;
&lt;p&gt;exit sub&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt;next&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt;'scope contains all the scopes entered&lt;/p&gt;
&lt;p&gt;if not isarray(scope) then&lt;/p&gt;
&lt;p&gt;wscript.echo &amp;quot;no scopes in the server &amp;quot;&amp;amp;str1(3)&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;if scope(0)=&amp;quot;&amp;quot; then&lt;/p&gt;
&lt;p&gt;wscript.echo &amp;quot;no scopes in the server &amp;quot;&amp;amp;str1(3)&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt; set wshell = CreateObject(&amp;quot;WScript.Shell&amp;quot;) &lt;/p&gt;
&lt;p&gt; for i = 0 to ubound(scope)&lt;/p&gt;
&lt;p&gt; set obj = wshell.exec(&amp;quot;netsh dhcp server &amp;quot;&amp;amp;str1(3)&amp;amp;&amp;quot; scope &amp;quot;&amp;amp;scope(i)&amp;amp;&amp;quot; show clients&amp;quot;)&lt;/p&gt;
&lt;p&gt; clients = obj.stdout.readall()&lt;/p&gt;
&lt;p&gt; if(instrrev(clients,&amp;quot;Command completed successfully.&amp;quot;)=0) then&lt;/p&gt;
&lt;p&gt; exit sub&lt;/p&gt;
&lt;p&gt; end if &lt;/p&gt;
&lt;p&gt; call makeclients(clients,str1(2)) &lt;/p&gt;
&lt;p&gt; next&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt;if args = 0 then&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;wscript.echo &amp;quot;the ipaddress and macaddress pair are in file &amp;quot;&amp;amp;filename&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt;end sub&lt;/p&gt;
&lt;p&gt;'the following procedure outputs the ip and corresponding mac addresses(active leases) into the file - 'filename'...it takes the output string clients that we get after executing the command shoe clients&lt;/p&gt;
&lt;p&gt;sub makeclients(clients,filename)&lt;/p&gt;
&lt;p&gt; set fso = createobject(&amp;quot;Scripting.FileSystemObject&amp;quot;)&lt;/p&gt;
&lt;p&gt; Set scopefile = fso.CreateTextFile(&amp;quot;scopefile.txt&amp;quot;)&lt;/p&gt;
&lt;p&gt; scopefile.writeline(clients)&lt;/p&gt;
&lt;p&gt; scopefile.close&lt;/p&gt;
&lt;p&gt; Set scopefile = fso.OpenTextFile(&amp;quot;scopefile.txt&amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; do While not scopefile.AtEndOfStream &amp;nbsp; 'reading line by line and checking for the string &amp;quot;Total No. of Scopes&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;line = scopefile.ReadLine&lt;/p&gt;
&lt;p&gt; &amp;nbsp; if(instr(line,&amp;quot;No of Clients&amp;quot;)=1) then &amp;nbsp;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; str = split(line)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; t=str(4) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'taking no. of clients into t&lt;/p&gt;
&lt;p&gt; &amp;nbsp; exit do&lt;/p&gt;
&lt;p&gt; &amp;nbsp; end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; loop &amp;nbsp; &lt;/p&gt;
&lt;p&gt; &amp;nbsp; scopefile.close&lt;/p&gt;
&lt;p&gt; &amp;nbsp; t=cint(t) &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; if t=0 then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; wscript.echo &amp;quot;no clients in the scope &amp;quot;&amp;amp;str(ubound(str))&lt;/p&gt;
&lt;p&gt; &amp;nbsp; exit sub&lt;/p&gt;
&lt;p&gt; &amp;nbsp; end if&lt;/p&gt;
&lt;p&gt;args=args+1&lt;/p&gt;
&lt;p&gt;Set scopefile = fso.OpenTextFile(&amp;quot;scopefile.txt&amp;quot;)&lt;/p&gt;
&lt;p&gt;for i= 1 to 8&lt;/p&gt;
&lt;p&gt;scopefile.skipline&lt;/p&gt;
&lt;p&gt;next &amp;nbsp; &amp;nbsp; &lt;/p&gt;
&lt;p&gt;set outfile = fso.opentextfile(filename,8)&lt;/p&gt;
&lt;p&gt;for i=0 to t-1&lt;/p&gt;
&lt;p&gt;line=scopefile.readline&lt;/p&gt;
&lt;p&gt;str= split(line)&lt;/p&gt;
&lt;p&gt;if (instr(line,&amp;quot;INACTIVE&amp;quot;)&amp;lt;&amp;gt;0) then&lt;/p&gt;
&lt;p&gt;d=0&lt;/p&gt;
&lt;p&gt; for l=0 to ubound(str)&lt;/p&gt;
&lt;p&gt; if(str(l)=&amp;quot;&amp;quot;) then&lt;/p&gt;
&lt;p&gt; else&lt;/p&gt;
&lt;p&gt; if d=3 then &lt;/p&gt;
&lt;p&gt; exit for&lt;/p&gt;
&lt;p&gt; else&lt;/p&gt;
&lt;p&gt; d=d+1 &lt;/p&gt;
&lt;p&gt; end if&lt;/p&gt;
&lt;p&gt; end if&lt;/p&gt;
&lt;p&gt; next&lt;/p&gt;
&lt;p&gt;outfile.write(str(0))&lt;/p&gt;
&lt;p&gt;for size = 1 to 18-(len(str(0)))&lt;/p&gt;
&lt;p&gt;outfile.write(&amp;quot; &amp;quot;)&lt;/p&gt;
&lt;p&gt;next &lt;/p&gt;
&lt;p&gt;outfile.writeline(trim(replace(str(l),&amp;quot;-&amp;quot;,&amp;quot;&amp;quot;)))&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;d=0&lt;/p&gt;
&lt;p&gt; for l=0 to ubound(str)&lt;/p&gt;
&lt;p&gt; if(str(l)=&amp;quot;&amp;quot;) then&lt;/p&gt;
&lt;p&gt; else&lt;/p&gt;
&lt;p&gt; if d=4 then &lt;/p&gt;
&lt;p&gt; exit for&lt;/p&gt;
&lt;p&gt; else&lt;/p&gt;
&lt;p&gt; d=d+1 &lt;/p&gt;
&lt;p&gt; end if&lt;/p&gt;
&lt;p&gt; end if&lt;/p&gt;
&lt;p&gt; next&lt;/p&gt;
&lt;p&gt;outfile.write(str(0))&lt;/p&gt;
&lt;p&gt;for size = 1 to 18-(len(str(0)))&lt;/p&gt;
&lt;p&gt;outfile.write(&amp;quot; &amp;quot;)&lt;/p&gt;
&lt;p&gt;next &lt;/p&gt;
&lt;p&gt;outfile.writeline(trim(replace(str(l),&amp;quot;-&amp;quot;,&amp;quot;&amp;quot;)))&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt;next&lt;/p&gt;
&lt;p&gt;outfile.close&lt;/p&gt;
&lt;p&gt;end sub&lt;/p&gt;
&lt;p&gt;sub makereservation(str1)&lt;/p&gt;
&lt;p&gt;	if ubound(str1)&amp;lt;&amp;gt;3 then&lt;/p&gt;
&lt;p&gt;		wscript.echo &amp;quot;Error: unrecongnized or incomplete command line.&amp;quot;&lt;/p&gt;
&lt;p&gt;		call helpfile()&lt;/p&gt;
&lt;p&gt;		exit sub&lt;/p&gt;
&lt;p&gt;	end if &lt;/p&gt;
&lt;p&gt;	server = str1(2)&lt;/p&gt;
&lt;p&gt;	filename = str1(3)&lt;/p&gt;
&lt;p&gt;	set fso = createobject(&amp;quot;Scripting.FileSystemObject&amp;quot;)&lt;/p&gt;
&lt;p&gt;	if(not fso.fileexists(filename))then&lt;/p&gt;
&lt;p&gt;		wscript.echo &amp;quot;file &amp;quot;&amp;amp;filename&amp;amp;&amp;quot; not present&amp;quot;&lt;/p&gt;
&lt;p&gt;		exit sub&lt;/p&gt;
&lt;p&gt;	end if&lt;/p&gt;
&lt;p&gt;	k = checkserver(server)&lt;/p&gt;
&lt;p&gt;	if k=0 then&lt;/p&gt;
&lt;p&gt;		wscript.echo &amp;quot;server &amp;quot;&amp;amp;server&amp;amp;&amp;quot; is not present or may have been entered wrongly&amp;quot;&lt;/p&gt;
&lt;p&gt;		exit sub&lt;/p&gt;
&lt;p&gt;	end if&lt;/p&gt;
&lt;p&gt;	scopearray=makescopearray(scopes) &amp;nbsp; &amp;nbsp; &amp;nbsp; 'scopes is the output string obtained after executing show scope command for given server&lt;/p&gt;
&lt;p&gt;	set handle = fso.opentextfile(filename)&lt;/p&gt;
&lt;p&gt;	Dim ipaddress &lt;/p&gt;
&lt;p&gt;	Dim macaddress &lt;/p&gt;
&lt;p&gt;	t=0&lt;/p&gt;
&lt;p&gt;	do while not handle.atendofstream&lt;/p&gt;
&lt;p&gt;		line=trim(handle.readline)&lt;/p&gt;
&lt;p&gt;		'line=replace(line,&amp;quot; &amp;quot;,&amp;quot;&amp;quot;) &lt;/p&gt;
&lt;p&gt;		if line=&amp;quot;&amp;quot; then &lt;/p&gt;
&lt;p&gt; 		else&lt;/p&gt;
&lt;p&gt;			strarray=split(line)&lt;/p&gt;
&lt;p&gt;			p=0&lt;/p&gt;
&lt;p&gt;wscript.echo &amp;quot;upper bound&amp;quot;&lt;/p&gt;
&lt;p&gt;wscript.echo ubound(strarray)&lt;/p&gt;
&lt;p&gt;			for k=0 to ubound(strarray)&lt;/p&gt;
&lt;p&gt;				if strarray(k)=&amp;quot;&amp;quot; then&lt;/p&gt;
&lt;p&gt;				else&lt;/p&gt;
&lt;p&gt;wscript.echo &amp;quot;strarray(k)&amp;quot;&lt;/p&gt;
&lt;p&gt;wscript.echo strarray(k)&lt;/p&gt;
&lt;p&gt;					if p=0 then &lt;/p&gt;
&lt;p&gt;						ipaddress=trim(strarray(k))&lt;/p&gt;
&lt;p&gt;					else &lt;/p&gt;
&lt;p&gt;						if p=1 then&lt;/p&gt;
&lt;p&gt;							macaddress = trim(strarray(k))&lt;/p&gt;
&lt;p&gt;						end if&lt;/p&gt;
&lt;p&gt;					end if&lt;/p&gt;
&lt;p&gt;					p=p+1&lt;/p&gt;
&lt;p&gt;					'wscript.echo Replace(ipaddress, &amp;quot; &amp;quot;, &amp;quot;&amp;quot;)&lt;/p&gt;
&lt;p&gt;					'wscript.echo macaddress&lt;/p&gt;
&lt;p&gt;				end if&lt;/p&gt;
&lt;p&gt;			next&lt;/p&gt;
&lt;p&gt;			if p&amp;lt;&amp;gt;2 then&lt;/p&gt;
&lt;p&gt;				wscript.echo &amp;quot;p = &amp;quot;&lt;/p&gt;
&lt;p&gt;				wscript.echo p&lt;/p&gt;
&lt;p&gt;				wscript.echo &amp;quot;improper format of file&amp;quot;&lt;/p&gt;
&lt;p&gt;				exit sub&lt;/p&gt;
&lt;p&gt;			end if&lt;/p&gt;
&lt;p&gt; redim preserve iparray3(t)&lt;/p&gt;
&lt;p&gt; redim preserve macarray3(t)&lt;/p&gt;
&lt;p&gt; iparray3(t)=ipaddress&lt;/p&gt;
&lt;p&gt; macarray3(t)=macaddress&lt;/p&gt;
&lt;p&gt; t=t+1&lt;/p&gt;
&lt;p&gt; end if&lt;/p&gt;
&lt;p&gt;loop&lt;/p&gt;
&lt;p&gt;handle.close&lt;/p&gt;
&lt;p&gt;if not isarray(iparray3) then&lt;/p&gt;
&lt;p&gt;wscript.echo &amp;quot;there is nothing in the file&amp;quot;&lt;/p&gt;
&lt;p&gt;exit sub&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt;dim arr&lt;/p&gt;
&lt;p&gt;redim arr(t-1)&lt;/p&gt;
&lt;p&gt;for i = 0 to ubound(scopearray)&lt;/p&gt;
&lt;p&gt;set iprange = fso.createtextfile(&amp;quot;iprangefile.txt&amp;quot;)&lt;/p&gt;
&lt;p&gt;iprange.close&lt;/p&gt;
&lt;p&gt;arraysize = 0&lt;/p&gt;
&lt;p&gt;dim iparray1&lt;/p&gt;
&lt;p&gt;redim iparray1(0)&lt;/p&gt;
&lt;p&gt;redim macarray1(0)&lt;/p&gt;
&lt;p&gt; &amp;nbsp;set wshell = CreateObject(&amp;quot;WScript.Shell&amp;quot;) &lt;/p&gt;
&lt;p&gt; set obj = wshell.exec(&amp;quot;netsh dhcp server &amp;quot;&amp;amp;server&amp;amp;&amp;quot; scope &amp;quot;&amp;amp;scopearray(i)&amp;amp;&amp;quot; show iprange&amp;quot;)&lt;/p&gt;
&lt;p&gt; range = obj.stdout.readall()&lt;/p&gt;
&lt;p&gt; set iprange = fso.opentextfile(&amp;quot;iprangefile.txt&amp;quot;,8)&lt;/p&gt;
&lt;p&gt; iprange.writeline(range)&lt;/p&gt;
&lt;p&gt; iprange.close&lt;/p&gt;
&lt;p&gt; set iprange = fso.opentextfile(&amp;quot;iprangefile.txt&amp;quot;)&lt;/p&gt;
&lt;p&gt; for p=0 to 5 &lt;/p&gt;
&lt;p&gt; iprange.skipline&lt;/p&gt;
&lt;p&gt; next&lt;/p&gt;
&lt;p&gt; line1=iprange.readline&lt;/p&gt;
&lt;p&gt; line2=split(line1)&lt;/p&gt;
&lt;p&gt; count=0&lt;/p&gt;
&lt;p&gt; for j=0 to t-1&lt;/p&gt;
&lt;p&gt;wscript.echo &amp;quot;IPS ----------------&amp;quot;&lt;/p&gt;
&lt;p&gt; wscript.echo line2(3)&lt;/p&gt;
&lt;p&gt; wscript.echo line2(12)&lt;/p&gt;
&lt;p&gt;wscript.echo &amp;quot;IPS ----------------&amp;quot;&lt;/p&gt;
&lt;p&gt; k = checkiprange(line2(3),line2(12),iparray3(j))&lt;/p&gt;
&lt;p&gt; if k = 1 then&lt;/p&gt;
&lt;p&gt; redim preserve iparray1(arraysize)&lt;/p&gt;
&lt;p&gt; redim preserve macarray1(arraysize)&lt;/p&gt;
&lt;p&gt; iparray1(arraysize) = iparray3(j)&lt;/p&gt;
&lt;p&gt; macarray1(arraysize) = macarray3(j) &lt;/p&gt;
&lt;p&gt; arraysize = arraysize + 1&lt;/p&gt;
&lt;p&gt; arr(j)=1&lt;/p&gt;
&lt;p&gt; else if k=2 then&lt;/p&gt;
&lt;p&gt; wscript.echo &amp;quot;the ip address &amp;quot;&amp;amp;iparray3(j)&amp;amp;&amp;quot; is not valid&amp;quot; &lt;/p&gt;
&lt;p&gt; fso.deletefile(&amp;quot;iprangefile.txt&amp;quot;),true&lt;/p&gt;
&lt;p&gt; exit sub&lt;/p&gt;
&lt;p&gt; end if &lt;/p&gt;
&lt;p&gt; end if&lt;/p&gt;
&lt;p&gt; next &lt;/p&gt;
&lt;p&gt;iprange.close&lt;/p&gt;
&lt;p&gt;if isarray(iparray1) and not iparray1(0)=&amp;quot;&amp;quot; then&lt;/p&gt;
&lt;p&gt;call addreservation(server,scopearray(i),iparray1,macarray1) &lt;/p&gt;
&lt;p&gt;if (finaliparray(0)=&amp;quot;&amp;quot;) then&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;for l=0 to ubound(finaliparray)&lt;/p&gt;
&lt;p&gt;set obj = wshell.exec(&amp;quot;netsh dhcp server &amp;quot;&amp;amp;server&amp;amp;&amp;quot; scope &amp;quot; &amp;amp;scopearray(i)&amp;amp; &amp;quot; add reservedip &amp;quot;&amp;amp;finaliparray(l)&amp;amp;&amp;quot; &amp;quot;&amp;amp;finalmacarray(l) )&lt;/p&gt;
&lt;p&gt;outp = &amp;nbsp;obj.stdout.readall()&lt;/p&gt;
&lt;p&gt; &amp;nbsp;if(instr(outp,&amp;quot;Command completed successfully.&amp;quot;)&amp;lt;&amp;gt;0) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp;wscript.echo &amp;quot;added reservation &amp;quot;&amp;amp;finaliparray(l)&amp;amp; &amp;quot; &amp;quot;&amp;amp;finalmacarray(l)&amp;amp;&amp;quot; to server &amp;quot;&amp;amp;server&amp;amp;&amp;quot; in scope &amp;quot;&amp;amp;scopearray(i)&lt;/p&gt;
&lt;p&gt; &amp;nbsp;else&lt;/p&gt;
&lt;p&gt; &amp;nbsp;wscript.echo &amp;quot;The specified IP address &amp;quot;&amp;amp;finaliparray(l)&amp;amp; &amp;quot; or hardware address &amp;quot;&amp;amp; finalmacarray(l)&amp;amp; &amp;quot; is either not proper or is being used by another client.&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt;next&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt;redim iparray1(0)&lt;/p&gt;
&lt;p&gt;redim macarray1(0)&lt;/p&gt;
&lt;p&gt;next&lt;/p&gt;
&lt;p&gt;set handle = fso.opentextfile(filename)&lt;/p&gt;
&lt;p&gt;for i=0 to ubound(arr)&lt;/p&gt;
&lt;p&gt;str=trim(handle.readline)&lt;/p&gt;
&lt;p&gt;if(arr(i)=0) then&lt;/p&gt;
&lt;p&gt;line=split(str)&lt;/p&gt;
&lt;p&gt;wscript.echo &amp;quot;The ipaddress &amp;quot;&amp;amp;iparray3(i)&amp;amp;&amp;quot; is not present in any scope&amp;quot;&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt;next&lt;/p&gt;
&lt;p&gt;handle.close&lt;/p&gt;
&lt;p&gt;fso.deletefile(&amp;quot;iprangefile.txt&amp;quot;),true&lt;/p&gt;
&lt;p&gt;end sub&lt;/p&gt;
&lt;p&gt;sub addreservation(server,scopestr,iparraysource,macarraysource)&lt;/p&gt;
&lt;p&gt; redim finaliparray(0)&lt;/p&gt;
&lt;p&gt; redim finalmacarray(0)&lt;/p&gt;
&lt;p&gt; set wshell = CreateObject(&amp;quot;WScript.Shell&amp;quot;) &lt;/p&gt;
&lt;p&gt; set obj = wshell.exec(&amp;quot;netsh dhcp server &amp;quot;&amp;amp;server&amp;amp;&amp;quot; scope &amp;quot; &amp;amp;scopestr&amp;amp; &amp;quot; show reservedip&amp;quot; )&lt;/p&gt;
&lt;p&gt; outpdest = obj.stdout.readall()&lt;/p&gt;
&lt;p&gt; call makeipandmacarray(outpdest)&lt;/p&gt;
&lt;p&gt; iparraydest = iparray&lt;/p&gt;
&lt;p&gt; macarraydest = macarray &amp;nbsp; &lt;/p&gt;
&lt;p&gt; ' remove common ip and mac pair between the two servers for the given scope&lt;/p&gt;
&lt;p&gt; if(not isarray(iparraydest)) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp;finaliparray=iparraysource &lt;/p&gt;
&lt;p&gt; &amp;nbsp;finalmacarray=macarraysource &lt;/p&gt;
&lt;p&gt; else&lt;/p&gt;
&lt;p&gt; &amp;nbsp;k=0&lt;/p&gt;
&lt;p&gt; &amp;nbsp;for i = 0 to ubound(iparraysource)&lt;/p&gt;
&lt;p&gt; &amp;nbsp;flag=0&lt;/p&gt;
&lt;p&gt; &amp;nbsp; for j=0 to ubound(iparraydest)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;if(iparraysource(i)=iparraydest(j) and macarraysource(i)=macarraydest(j)) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;flag=1&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;exit for&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; next&lt;/p&gt;
&lt;p&gt; &amp;nbsp;if flag=1 then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; if synccount = 0 and m=0 then&lt;/p&gt;
&lt;p&gt; &amp;nbsp;wscript.echo &amp;quot;reservation &amp;quot;&amp;amp;iparraysource(i)&amp;amp;&amp;quot; &amp;quot;&amp;amp;macarraysource(i)&amp;amp;&amp;quot; is already present on server &amp;quot;&amp;amp;server&lt;/p&gt;
&lt;p&gt; &amp;nbsp; end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp;else&lt;/p&gt;
&lt;p&gt; &amp;nbsp;redim preserve finaliparray(k) &lt;/p&gt;
&lt;p&gt; &amp;nbsp;redim preserve finalmacarray(k)&lt;/p&gt;
&lt;p&gt; &amp;nbsp;finaliparray(k)=iparraysource(i)&lt;/p&gt;
&lt;p&gt; &amp;nbsp;finalmacarray(k)=macarraysource(i) &lt;/p&gt;
&lt;p&gt; &amp;nbsp;k=k+1 &amp;nbsp; &lt;/p&gt;
&lt;p&gt; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp;next&lt;/p&gt;
&lt;p&gt; end if&lt;/p&gt;
&lt;p&gt;end sub&lt;/p&gt;
&lt;p&gt;function checkiprange(ip1,ip2,ip3)&lt;/p&gt;
&lt;p&gt;str2=split(ip1,&amp;quot;.&amp;quot;)&lt;/p&gt;
&lt;p&gt;str3=split(ip2,&amp;quot;.&amp;quot;)&lt;/p&gt;
&lt;p&gt;str4=split(ip3,&amp;quot;.&amp;quot;)&lt;/p&gt;
&lt;p&gt;if ubound(str4)&amp;lt;&amp;gt;3 then&lt;/p&gt;
&lt;p&gt;checkiprange=2&lt;/p&gt;
&lt;p&gt;exit function&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt;dim string&lt;/p&gt;
&lt;p&gt;if cint(str2(0))&amp;lt;=cint(str4(0)) and cint(str4(0))&amp;lt;=cint(str3(0)) then&lt;/p&gt;
&lt;p&gt; if cint(str2(1))&amp;lt;=cint(str4(1)) and cint(str4(1))&amp;lt;=cint(str3(1)) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp;for i=2 to 3&lt;/p&gt;
&lt;p&gt;if(cint(str2(i))&amp;gt;=0 and cint(str2(i))&amp;lt;10) then&lt;/p&gt;
&lt;p&gt;string1=string1&amp;amp;&amp;quot;00&amp;quot;&amp;amp;str2(i)&lt;/p&gt;
&lt;p&gt;else if(cint(str2(i))&amp;gt;=10 and cint(str2(i))&amp;lt;100) then&lt;/p&gt;
&lt;p&gt;string1=string1&amp;amp;&amp;quot;0&amp;quot;&amp;amp;str2(i)&lt;/p&gt;
&lt;p&gt;else string1=string1&amp;amp;str2(i)&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt;next&lt;/p&gt;
&lt;p&gt;for i=2 to 3&lt;/p&gt;
&lt;p&gt;if(cint(str3(i))&amp;gt;=0 and cint(str3(i))&amp;lt;10) then&lt;/p&gt;
&lt;p&gt;string2=string2&amp;amp;&amp;quot;00&amp;quot;&amp;amp;str3(i)&lt;/p&gt;
&lt;p&gt;else if(cint(str3(i))&amp;gt;=10 and cint(str3(i))&amp;lt;100) then&lt;/p&gt;
&lt;p&gt;string2=string2&amp;amp;&amp;quot;0&amp;quot;&amp;amp;str3(i)&lt;/p&gt;
&lt;p&gt;else string2=string2&amp;amp;str3(i)&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt;next&lt;/p&gt;
&lt;p&gt;for i=2 to 3&lt;/p&gt;
&lt;p&gt;if(cint(str4(i))&amp;gt;=0 and cint(str4(i))&amp;lt;10) then&lt;/p&gt;
&lt;p&gt;string3=string3&amp;amp;&amp;quot;00&amp;quot;&amp;amp;str4(i)&lt;/p&gt;
&lt;p&gt;else if(cint(str4(i))&amp;gt;=10 and cint(str4(i))&amp;lt;100) then&lt;/p&gt;
&lt;p&gt;string3=string3&amp;amp;&amp;quot;0&amp;quot;&amp;amp;str4(i)&lt;/p&gt;
&lt;p&gt;else string3=string3&amp;amp;str4(i)&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt;next&lt;/p&gt;
&lt;p&gt;if(cint(string1)&amp;lt;=cint(string3) and cint(string3)&amp;lt;=cint(string2)) then&lt;/p&gt;
&lt;p&gt;checkiprange=1&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;checkiprange=0&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt; else&lt;/p&gt;
&lt;p&gt; checkiprange=0&lt;/p&gt;
&lt;p&gt; end if&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;checkiprange=0&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt;end function&lt;/p&gt;
&lt;p&gt;sub helpfile()&lt;/p&gt;
&lt;p&gt;set fso = createobject(&amp;quot;Scripting.FileSystemObject&amp;quot;)&lt;/p&gt;
&lt;p&gt;set help = fso.OpenTextFile(&amp;quot;help.txt&amp;quot;)&lt;/p&gt;
&lt;p&gt;do while not help.atendofstream&lt;/p&gt;
&lt;p&gt;wscript.echo (help.readline)&lt;/p&gt;
&lt;p&gt;loop&lt;/p&gt;
&lt;p&gt;end sub&lt;/p&gt;
&lt;p&gt;' this function will return 1 if the scope(scopestr) is present in the given server(serverarray....this is an array of server scopes)(be it source or destination)...else 0&lt;/p&gt;
&lt;p&gt;function isscope(scopestr,serverarray)&lt;/p&gt;
&lt;p&gt;l=0&lt;/p&gt;
&lt;p&gt;for i=0 to ubound(serverarray)&lt;/p&gt;
&lt;p&gt;if(strcomp(scopestr,serverarray(i))=0) then&lt;/p&gt;
&lt;p&gt;l=1&lt;/p&gt;
&lt;p&gt;exit for&lt;/p&gt;
&lt;p&gt;end if&lt;/p&gt;
&lt;p&gt;next&lt;/p&gt;
&lt;p&gt;isscope=l&lt;/p&gt;
&lt;p&gt;end function&lt;/p&gt;
&lt;p&gt;'this function will check if the server entered as argument is present or not(or rather entered correctly or not)&lt;/p&gt;
&lt;p&gt;function checkserver(str1)&lt;/p&gt;
&lt;p&gt;dim wshell&lt;/p&gt;
&lt;p&gt;dim pos1&lt;/p&gt;
&lt;p&gt; set wshell = CreateObject(&amp;quot;WScript.Shell&amp;quot;) &lt;/p&gt;
&lt;p&gt; set obj = wshell.exec(&amp;quot;netsh dhcp server &amp;quot;&amp;amp;str1&amp;amp;&amp;quot; show scope&amp;quot;)&lt;/p&gt;
&lt;p&gt; scopes = obj.stdout.readall()&lt;/p&gt;
&lt;p&gt; pos1=instr(scopes,&amp;quot;Command completed successfully.&amp;quot;) &amp;nbsp; &amp;nbsp; &amp;nbsp;'if the string is present, the command has executed succesfully&lt;/p&gt;
&lt;p&gt; if(pos1&amp;lt;&amp;gt;0) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp;checkserver=1&lt;/p&gt;
&lt;p&gt; else&lt;/p&gt;
&lt;p&gt; &amp;nbsp;checkserver=0&lt;/p&gt;
&lt;p&gt; end if&lt;/p&gt;
&lt;p&gt;end function&lt;/p&gt;
&lt;p&gt;'this function takes as argument the output string that we get after the command show scope is executed and returns &lt;/p&gt;
&lt;p&gt;'the array of all scopes present in the server&lt;/p&gt;
&lt;p&gt;function makescopearray(scopes)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; set fso = createobject(&amp;quot;Scripting.FileSystemObject&amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; Set scopefile = fso.CreateTextFile(&amp;quot;scopefile.txt&amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; scopefile.writeline(scopes) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'writing output string to a file&lt;/p&gt;
&lt;p&gt; &amp;nbsp; scopefile.close&lt;/p&gt;
&lt;p&gt; &amp;nbsp; Set scopefile = fso.OpenTextFile(&amp;quot;scopefile.txt&amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; do While not scopefile.AtEndOfStream &amp;nbsp; 'reading line by line and checking for the string &amp;quot;Total No. of Scopes&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;line = scopefile.ReadLine&lt;/p&gt;
&lt;p&gt; &amp;nbsp; if(instr(line,&amp;quot;Total No. of Scopes&amp;quot;)=2) then &amp;nbsp;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; str = split(line)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; t=str(ubound(str)-1) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'taking no. of scopes into t&lt;/p&gt;
&lt;p&gt; &amp;nbsp; exit do&lt;/p&gt;
&lt;p&gt; &amp;nbsp; end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; loop &amp;nbsp; &lt;/p&gt;
&lt;p&gt; &amp;nbsp; scopefile.close&lt;/p&gt;
&lt;p&gt; &amp;nbsp; t=cint(t) &amp;nbsp; &amp;nbsp; &amp;nbsp;'converting string to integer&lt;/p&gt;
&lt;p&gt; &amp;nbsp; if t=0 then &amp;nbsp; &amp;nbsp; &amp;nbsp;'if no scopes are present &lt;/p&gt;
&lt;p&gt; &amp;nbsp; makescopearray=&amp;quot;&amp;quot; &amp;nbsp; &amp;nbsp; &lt;/p&gt;
&lt;p&gt; &amp;nbsp; else&lt;/p&gt;
&lt;p&gt; &amp;nbsp; Set scopefile = fso.OpenTextFile(&amp;quot;scopefile.txt&amp;quot;) &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; for i=1 to 5&lt;/p&gt;
&lt;p&gt; &amp;nbsp; scopefile.skipline &amp;nbsp; &amp;nbsp; 'skipping first five lines &lt;/p&gt;
&lt;p&gt; &amp;nbsp; next &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; for i=0 to t-1&lt;/p&gt;
&lt;p&gt; &amp;nbsp; str3=trim(scopefile.readline)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; str3 = split(str3,&amp;quot; &amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; redim preserve serverscope(i)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; serverscope(i)=str3(0) &amp;nbsp; &amp;nbsp; 'adding scopes to array serverscope&lt;/p&gt;
&lt;p&gt; &amp;nbsp; next &lt;/p&gt;
&lt;p&gt; &amp;nbsp; makescopearray = serverscope &amp;nbsp; &amp;nbsp;'returning the array to calling function&lt;/p&gt;
&lt;p&gt; &amp;nbsp; scopefile.close&lt;/p&gt;
&lt;p&gt; &amp;nbsp; end if&lt;/p&gt;
&lt;p&gt;end function&lt;/p&gt;
&lt;p&gt;'function to take reservations from source server and add to destination server for a given scope&lt;/p&gt;
&lt;p&gt;sub reservedip(sourceadd,destadd,scopestr,filename,command)&lt;/p&gt;
&lt;p&gt; dim outp&lt;/p&gt;
&lt;p&gt; set wshell = CreateObject(&amp;quot;WScript.Shell&amp;quot;) &lt;/p&gt;
&lt;p&gt; set obj = wshell.exec(&amp;quot;netsh dhcp server &amp;quot;&amp;amp;sourceadd&amp;amp;&amp;quot; scope &amp;quot; &amp;amp;scopestr&amp;amp; &amp;quot; show reservedip&amp;quot; )&lt;/p&gt;
&lt;p&gt; outpsource = obj.stdout.readall()&lt;/p&gt;
&lt;p&gt; call makeipandmacarray(outpsource)&lt;/p&gt;
&lt;p&gt; iparraysource = iparray&lt;/p&gt;
&lt;p&gt; macarraysource = macarray&lt;/p&gt;
&lt;p&gt; if(not isarray(iparraysource)) then&lt;/p&gt;
&lt;p&gt; wscript.echo &amp;quot;no reservations in the scope &amp;quot;&amp;amp;scopestr&amp;amp;&amp;quot; on the server &amp;quot;&amp;amp;sourceadd &lt;/p&gt;
&lt;p&gt; &amp;nbsp;exit sub&lt;/p&gt;
&lt;p&gt; end if&lt;/p&gt;
&lt;p&gt; if(m=1 or m=2) then&lt;/p&gt;
&lt;p&gt; set fso = createobject(&amp;quot;Scripting.FileSystemObject&amp;quot;)&lt;/p&gt;
&lt;p&gt; Set outfile = fso.openTextFile(filename,8)&lt;/p&gt;
&lt;p&gt; for i=0 to ubound(iparraysource) &amp;nbsp;&lt;/p&gt;
&lt;p&gt; outfile.writeline(&amp;quot;netsh dhcp server &amp;quot;&amp;amp;destadd&amp;amp; &amp;quot; scope &amp;quot; &amp;amp;scopestr&amp;amp; &amp;quot; add reservedip &amp;quot; &amp;amp;iparraysource(i)&amp;amp; &amp;quot; &amp;quot; &amp;amp; macarraysource(i))&lt;/p&gt;
&lt;p&gt; next&lt;/p&gt;
&lt;p&gt; outfile.close&lt;/p&gt;
&lt;p&gt; exit sub&lt;/p&gt;
&lt;p&gt; end if&lt;/p&gt;
&lt;p&gt;call addreservation(destadd,scopestr,iparraysource,macarraysource)&lt;/p&gt;
&lt;p&gt;'now finaliparray and finalmacarray contain only the unique ip and mac addresses&lt;/p&gt;
&lt;p&gt;if (not isarray(finaliparray) or finaliparray(0)=&amp;quot;&amp;quot;) then&lt;/p&gt;
&lt;p&gt;if ((m=1 or m=2)) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp;if (strcomp(command,&amp;quot;-migrate&amp;quot;)=0 or (strcomp(command,&amp;quot;-sync&amp;quot;)=0 and synccount=1)) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp;wscript.echo&amp;quot;output is in file &amp;quot;&amp;amp;filename&lt;/p&gt;
&lt;p&gt; &amp;nbsp;end if &lt;/p&gt;
&lt;p&gt; end if&lt;/p&gt;
&lt;p&gt; exit sub&lt;/p&gt;
&lt;p&gt; end if&lt;/p&gt;
&lt;p&gt;t=ubound(finaliparray)&lt;/p&gt;
&lt;p&gt; &amp;nbsp;set wshell = CreateObject(&amp;quot;WScript.Shell&amp;quot;) &lt;/p&gt;
&lt;p&gt; &amp;nbsp;for i=0 to t&lt;/p&gt;
&lt;p&gt; &amp;nbsp;set obj = wshell.exec(&amp;quot;netsh dhcp server &amp;quot;&amp;amp;destadd&amp;amp;&amp;quot; scope &amp;quot; &amp;amp;scopestr&amp;amp; &amp;quot; add reservedip &amp;quot; &amp;amp;finaliparray(i)&amp;amp; &amp;quot; &amp;quot; &amp;amp; finalmacarray(i))&lt;/p&gt;
&lt;p&gt; &amp;nbsp;outp = &amp;nbsp;obj.stdout.readall()&lt;/p&gt;
&lt;p&gt; &amp;nbsp;if(instr(outp,&amp;quot;Command completed successfully.&amp;quot;)) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp;wscript.echo &amp;quot;added reservation &amp;quot;&amp;amp;finaliparray(i)&amp;amp; &amp;quot; &amp;quot;&amp;amp;finalmacarray(i)&amp;amp;&amp;quot; to server &amp;quot;&amp;amp;destadd&amp;amp;&amp;quot; in scope &amp;quot;&amp;amp;trim(scopestr)&lt;/p&gt;
&lt;p&gt; &amp;nbsp;else&lt;/p&gt;
&lt;p&gt; &amp;nbsp;wscript.echo &amp;quot;The specified IP address &amp;quot;&amp;amp;finaliparray(i)&amp;amp; &amp;quot; or hardware address &amp;quot;&amp;amp; finalmacarray(i)&amp;amp; &amp;quot; is being used by another client.&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp;next&lt;/p&gt;
&lt;p&gt; if ((m=1 or m=2)) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp;if (strcomp(command,&amp;quot;-migrate&amp;quot;)=0 or (strcomp(command,&amp;quot;-sync&amp;quot;)=0 and synccount=1)) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp;wscript.echo&amp;quot;output is in file &amp;quot;&amp;amp;filename&lt;/p&gt;
&lt;p&gt; &amp;nbsp;end if &lt;/p&gt;
&lt;p&gt; end if&lt;/p&gt;
&lt;p&gt;end sub&lt;/p&gt;
&lt;p&gt;sub makeipandmacarray(outp)&lt;/p&gt;
&lt;p&gt; redim iparray(0)&lt;/p&gt;
&lt;p&gt; redim macarray(0)&lt;/p&gt;
&lt;p&gt; set fso = createobject(&amp;quot;Scripting.FileSystemObject&amp;quot;)&lt;/p&gt;
&lt;p&gt; Set scopefile = fso.CreateTextFile(&amp;quot;scopefile.txt&amp;quot;)&lt;/p&gt;
&lt;p&gt; scopefile.writeline(outp)&lt;/p&gt;
&lt;p&gt; scopefile.close&lt;/p&gt;
&lt;p&gt; Set scopefile = fso.openTextFile(&amp;quot;scopefile.txt&amp;quot;)&lt;/p&gt;
&lt;p&gt; do While not scopefile.AtEndOfStream&lt;/p&gt;
&lt;p&gt; line = scopefile.ReadLine&lt;/p&gt;
&lt;p&gt; if(instr(line,&amp;quot;No of ReservedIPs&amp;quot;)=1) then&lt;/p&gt;
&lt;p&gt; str = split(line)&lt;/p&gt;
&lt;p&gt; t=str(4) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'taking no. of reservations into t&lt;/p&gt;
&lt;p&gt; exit do&lt;/p&gt;
&lt;p&gt; end if&lt;/p&gt;
&lt;p&gt; loop &amp;nbsp; &lt;/p&gt;
&lt;p&gt; scopefile.close&lt;/p&gt;
&lt;p&gt; if t=0 then&lt;/p&gt;
&lt;p&gt; iparray = &amp;quot;&amp;quot;&lt;/p&gt;
&lt;p&gt; macarray = &amp;quot;&amp;quot;&lt;/p&gt;
&lt;p&gt; exit sub&lt;/p&gt;
&lt;p&gt; else&lt;/p&gt;
&lt;p&gt; Set scopefile = fso.openTextFile(&amp;quot;scopefile.txt&amp;quot;)&lt;/p&gt;
&lt;p&gt; for i=1 to 7&lt;/p&gt;
&lt;p&gt; scopefile.skipline&lt;/p&gt;
&lt;p&gt; next&lt;/p&gt;
&lt;p&gt; for i=1 to t&lt;/p&gt;
&lt;p&gt; redim preserve iparray(i-1)&lt;/p&gt;
&lt;p&gt; redim preserve macarray(i-1)&lt;/p&gt;
&lt;p&gt; string1=split(trim(scopefile.readline))&lt;/p&gt;
&lt;p&gt; iparray(i-1)=string1(0)&lt;/p&gt;
&lt;p&gt; macarray(i-1)=replace(string1(ubound(string1)),&amp;quot;-&amp;quot;,&amp;quot;&amp;quot;)&lt;/p&gt;
&lt;p&gt; next&lt;/p&gt;
&lt;p&gt; end if&lt;/p&gt;
&lt;p&gt; scopefile.close&lt;/p&gt;
&lt;p&gt;end sub&lt;/p&gt;
&lt;p&gt;sub migrate(str1)&lt;/p&gt;
&lt;p&gt; &amp;nbsp;if ubound(str1)&amp;lt;4 then &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;' ensures that the command entered has required no. of arguments &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; wscript.echo &amp;quot;Error: unrecongnized or incomplete command line.&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp;call helpfile()&lt;/p&gt;
&lt;p&gt; &amp;nbsp;argerror=1&lt;/p&gt;
&lt;p&gt; &amp;nbsp;exit sub&lt;/p&gt;
&lt;p&gt; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp;dim k &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt; &amp;nbsp;k = checkserver(str1(2)) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'checking if the source server exists or not...&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'or if they are entered correct or not&lt;/p&gt;
&lt;p&gt; &amp;nbsp;if k=0 then&lt;/p&gt;
&lt;p&gt; &amp;nbsp;wscript.echo &amp;quot;server &amp;quot;&amp;amp;str1(2)&amp;amp; &amp;quot; not present or is entered wrongly&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp;argerror=1&lt;/p&gt;
&lt;p&gt; &amp;nbsp;exit sub&lt;/p&gt;
&lt;p&gt; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp;scopes1 = scopes&lt;/p&gt;
&lt;p&gt; &amp;nbsp;k = checkserver(str1(3)) &amp;nbsp; &lt;/p&gt;
&lt;p&gt; &amp;nbsp;if k=0 then&lt;/p&gt;
&lt;p&gt; &amp;nbsp;wscript.echo &amp;quot;server &amp;quot;&amp;amp;str1(3)&amp;amp; &amp;quot; not present or is entered wrongly&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp;argerror=1&lt;/p&gt;
&lt;p&gt; &amp;nbsp;exit sub&lt;/p&gt;
&lt;p&gt; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp;scopes2 = scopes &amp;nbsp; &lt;/p&gt;
&lt;p&gt;'comes here if both servers are entered correctly&lt;/p&gt;
&lt;p&gt; &amp;nbsp; sourcescope = makescopearray(scopes1) &amp;nbsp; &amp;nbsp; &amp;nbsp;'sourcescope here has all scopes from source server&lt;/p&gt;
&lt;p&gt; &amp;nbsp; if(isarray(sourcescope)) then &amp;nbsp; &amp;nbsp; 'checking if there are any scopes in source server &amp;nbsp;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; else&lt;/p&gt;
&lt;p&gt; &amp;nbsp; wscript.echo &amp;quot;no scopes present on server &amp;quot;&amp;amp;str1(2) &lt;/p&gt;
&lt;p&gt; &amp;nbsp; argerror=1&lt;/p&gt;
&lt;p&gt; &amp;nbsp; exit sub&lt;/p&gt;
&lt;p&gt; &amp;nbsp; end if &amp;nbsp;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; bound=ubound(str1)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; if(strcomp(str1(4),&amp;quot;all&amp;quot;)=0) then &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'checking if the option &amp;quot;all&amp;quot; is entered &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;if(bound&amp;gt;4 and bound&amp;lt;7) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; if(strcomp(str1(5),&amp;quot;-preview&amp;quot;)&amp;lt;&amp;gt;0) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;argerror=1&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;wscript.echo &amp;quot;Error: unrecongnized or incomplete command line.&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;call helpfile()&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;exit sub&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; else &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(bound=6) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;filename = str1(6)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;m=2&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;else&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;m=1 &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;filename = &amp;quot;output.txt&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;else &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; m=0&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;scope=sourcescope &amp;nbsp; &amp;nbsp; &amp;nbsp; 'scope array now contains all the scopes from source server &lt;/p&gt;
&lt;p&gt; &amp;nbsp; else&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;if(strcomp(str1(bound),&amp;quot;-preview&amp;quot;)=0) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; m=1&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; filename = &amp;quot;output.txt&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;else if(strcomp(str1(bound-1),&amp;quot;-preview&amp;quot;)=0) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; m=2&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; filename = str1(bound)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;else &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; m=0&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; p=0&lt;/p&gt;
&lt;p&gt; &amp;nbsp; for i = 4 to ubound(str1)-m &amp;nbsp; &amp;nbsp; &amp;nbsp;'this is the case when scopes are entered as arguments&lt;/p&gt;
&lt;p&gt; &amp;nbsp; if(isscope(str1(i),sourcescope)) then &amp;nbsp; &amp;nbsp; 'checking if the given scope is present in source server &lt;/p&gt;
&lt;p&gt; &amp;nbsp; redim preserve scope(p) &amp;nbsp; &amp;nbsp; &amp;nbsp; 'if present then add the scope entered to the array 'scope' &lt;/p&gt;
&lt;p&gt; &amp;nbsp; scope(p)=str1(i)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; p=p+1 &amp;nbsp; &lt;/p&gt;
&lt;p&gt; &amp;nbsp; else &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;if(synccount=0) then &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'if the scope entered is not present in the source server &lt;/p&gt;
&lt;p&gt; &amp;nbsp; wscript.echo &amp;quot;scope &amp;quot;&amp;amp;str1(i)&amp;amp; &amp;quot; is not present in the server &amp;quot;&amp;amp;str1(2) &amp;nbsp;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; next&lt;/p&gt;
&lt;p&gt; &amp;nbsp; end if &lt;/p&gt;
&lt;p&gt; &amp;nbsp; erase sourcescope &amp;nbsp; &amp;nbsp; &amp;nbsp; 'freeing the space allocated to sourcescope &lt;/p&gt;
&lt;p&gt; &amp;nbsp; if(not isarray(scope)) then &amp;nbsp; &amp;nbsp; &amp;nbsp;'checking if the scope array has some scopes or not &amp;nbsp;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; argerror=1&lt;/p&gt;
&lt;p&gt; &amp;nbsp; exit sub&lt;/p&gt;
&lt;p&gt; &amp;nbsp; end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; destscope = makescopearray(scopes2) &amp;nbsp; &amp;nbsp; 'destscope has all scopes from destination server &lt;/p&gt;
&lt;p&gt; &amp;nbsp; if(isarray(destscope)) then &amp;nbsp; &amp;nbsp; &amp;nbsp;'checking if there are scopes present on destination server &lt;/p&gt;
&lt;p&gt; &amp;nbsp; else&lt;/p&gt;
&lt;p&gt; &amp;nbsp; wscript.echo &amp;quot;no scopes present on server &amp;quot;&amp;amp;str1(3) &lt;/p&gt;
&lt;p&gt; &amp;nbsp; argerror=1&lt;/p&gt;
&lt;p&gt; &amp;nbsp; exit sub&lt;/p&gt;
&lt;p&gt; &amp;nbsp; end if &lt;/p&gt;
&lt;p&gt; &amp;nbsp;if(m=1 or m=2) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; if(synccount=0) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; set fso = createobject(&amp;quot;Scripting.FileSystemObject&amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; set outfile = fso.createtextfile(filename)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; outfile.close&lt;/p&gt;
&lt;p&gt; &amp;nbsp; end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; for i=0 to ubound(scope) &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; if(isscope(scope(i),destscope)) then &amp;nbsp; &amp;nbsp; 'checking if scopes are present on destination server or not &amp;nbsp;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;call reservedip(str1(2),str1(3),scope(i),filename,str1(1)) 'this will take reservations in the given scope from source server and output add reservedip(destination) command to a file&lt;/p&gt;
&lt;p&gt; &amp;nbsp; else &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;wscript.echo &amp;quot;scope &amp;quot;&amp;amp;scope(i)&amp;amp; &amp;quot; not present in server &amp;quot;&amp;amp;str1(3) &amp;nbsp;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; end if &amp;nbsp; &lt;/p&gt;
&lt;p&gt; &amp;nbsp; next&lt;/p&gt;
&lt;p&gt; &amp;nbsp;if (m=1 or m=2) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; if(strcomp(str1(1),&amp;quot;-migrate&amp;quot;)=0 or (strcomp(str1(1),&amp;quot;-sync&amp;quot;)=0 and synccount=1)) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; wscript.echo&amp;quot;output is in file &amp;quot;&amp;amp;filename&lt;/p&gt;
&lt;p&gt; &amp;nbsp; end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt;end sub&lt;/p&gt;
&lt;p&gt;OUT.TXT&lt;/p&gt;
&lt;p&gt;10.150.0.2 00155d40a509&lt;/p&gt;
&lt;p&gt;10.150.0.3 00155d40a513&lt;/p&gt;
&lt;p&gt;10.150.0.4 00155d40a50b&lt;/p&gt;
&lt;p&gt;If you are getting error or stuck somewhere, use the prints like I have added to this one and debug, I think it is easier to do it that way.&lt;/p&gt;
&lt;p&gt;Let me know if you have any issues.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Subhash Badri&lt;/p&gt;
</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#3261919</link><pubDate>Tue, 07 Jul 2009 16:02:58 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3261919</guid><dc:creator>Eric</dc:creator><description>&lt;p&gt;Thank you for your help with this tool! I copied your code from above and created a new 'rmanager.vbs' file. My OUT.TXT looks similar to yours.&lt;/p&gt;
&lt;p&gt;When I try to make reservations, I now see much more output on the screen, but it still fails. I see the last IP in the range listed and then fails on line 777 (again, using your text copied from above) with a type mismatch: 'cint'.&lt;/p&gt;
&lt;p&gt;Any ideas? Thank you!&lt;/p&gt;</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#3262117</link><pubDate>Wed, 08 Jul 2009 08:48:50 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3262117</guid><dc:creator>teamdhcp</dc:creator><description>&lt;p&gt;Hello Eric,&lt;/p&gt;
&lt;p&gt; I dont know why you get errors, the best I can do is debug your issue if you can give me your dhcp server information about scopes and the leases + your out.txt file. Please forward all these information to msnetworkteam@live.com&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Subhash Badri&lt;/p&gt;
</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#3262465</link><pubDate>Thu, 09 Jul 2009 15:26:17 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3262465</guid><dc:creator>Eric</dc:creator><description>&lt;p&gt;I have emailed you at the address you listed. I look forward to your reply! Thank you!&lt;/p&gt;</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#3265118</link><pubDate>Thu, 16 Jul 2009 07:05:59 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3265118</guid><dc:creator>teamdhcp</dc:creator><description>&lt;p&gt;hello Eric,&lt;/p&gt;
&lt;p&gt; We have not recieved any mail from you to msnetworkteam@live.com account. Can you please re-send.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Subhash&lt;/p&gt;
</description></item><item><title>re: DHCP Reservation Tool</title><link>http://blogs.technet.com/teamdhcp/archive/2006/09/19/dhcp-reservation-tool.aspx#3267316</link><pubDate>Thu, 23 Jul 2009 07:36:45 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3267316</guid><dc:creator>teamdhcp</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt; Replacing cint with cLng should solve your problem. &lt;/p&gt;
&lt;p&gt;Anyways the parameters passed to checkiprange will not passed correct for varying ips eg. line2(13) may not be correct for the range with ips as 123.123.123.200 - 123.123.123.201, in such a scenario line2(13) may not exist at all. &lt;/p&gt;
&lt;p&gt;To make it more accurate I have added another for loop which skips the white space. Any VB script expert can comment on this&lt;/p&gt;
&lt;p&gt;Do the following:&lt;/p&gt;
&lt;p&gt;1. replace the makereservation with the added sub routine.&lt;/p&gt;
&lt;p&gt;2. replace the checkiprange with the added funtion.&lt;/p&gt;
&lt;p&gt;---------- makereservation ------------&lt;/p&gt;
&lt;p&gt;sub makereservation(str1)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ubound(str1)&amp;lt;&amp;gt;3 then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wscript.echo &amp;quot;Error: unrecongnized or incomplete command line.&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;call helpfile()&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;exit sub&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;server = str1(2)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;filename = str1(3)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;set fso = createobject(&amp;quot;Scripting.FileSystemObject&amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(not fso.fileexists(filename))then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wscript.echo &amp;quot;file &amp;quot;&amp;amp;filename&amp;amp;&amp;quot; not present&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;exit sub&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;k = checkserver(server)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if k=0 then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wscript.echo &amp;quot;server &amp;quot;&amp;amp;server&amp;amp;&amp;quot; is not present or may have been entered wrongly&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;exit sub&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;scopearray=makescopearray(scopes) &amp;nbsp; &amp;nbsp; &amp;nbsp; 'scopes is the output string obtained after executing show scope command for given server&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;set handle = fso.opentextfile(filename)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim ipaddress &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim macaddress &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;t=0&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;do while not handle.atendofstream&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;line=trim(handle.readline)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if line=&amp;quot;&amp;quot; then &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;strarray=split(line)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p=0&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for k=0 to ubound(strarray)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if strarray(k)=&amp;quot;&amp;quot; then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if p=0 then &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ipaddress=trim(strarray(k))&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if p=1 then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;macaddress = trim(strarray(k))&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p=p+1&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;next&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if p&amp;lt;&amp;gt;2 then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wscript.echo &amp;quot;p = &amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wscript.echo p&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wscript.echo &amp;quot;improper format of file&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;exit sub&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;redim preserve iparray3(t)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;redim preserve macarray3(t)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;iparray3(t)=ipaddress&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;macarray3(t)=macaddress&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;t=t+1&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;loop&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;handle.close&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if not isarray(iparray3) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wscript.echo &amp;quot;there is nothing in the file&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;exit sub&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dim arr&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;redim arr(t-1)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for i = 0 to ubound(scopearray)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;set iprange = fso.createtextfile(&amp;quot;iprangefile.txt&amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;iprange.close&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;arraysize = 0&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dim iparray1&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;redim iparray1(0)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;redim macarray1(0)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;redim IP(6)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dim x&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;set wshell = CreateObject(&amp;quot;WScript.Shell&amp;quot;) &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;set obj = wshell.exec(&amp;quot;netsh dhcp server &amp;quot;&amp;amp;server&amp;amp;&amp;quot; scope &amp;quot;&amp;amp;scopearray(i)&amp;amp;&amp;quot; show iprange&amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;range = obj.stdout.readall()&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;set iprange = fso.opentextfile(&amp;quot;iprangefile.txt&amp;quot;,8)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;iprange.writeline(range)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;iprange.close&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;set iprange = fso.opentextfile(&amp;quot;iprangefile.txt&amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for p=0 to 5 &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;iprange.skipline&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;next&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;line1=iprange.readline&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;line2=split(line1)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;count=0&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for j=0 to t-1&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;x=1&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for n=1 to ubound(line2)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if line2(n) = &amp;quot;&amp;quot; then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IP(x) = line2(n)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;x=x+1&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;next&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;k = checkiprange(IP(1),IP(3),iparray3(j))&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if k = 1 then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;redim preserve iparray1(arraysize)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;redim preserve macarray1(arraysize)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;iparray1(arraysize) = iparray3(j)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;macarray1(arraysize) = macarray3(j) &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;arraysize = arraysize + 1&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;arr(j)=1&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if k=2 then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wscript.echo &amp;quot;the ip address &amp;quot;&amp;amp;iparray3(j)&amp;amp;&amp;quot; is not valid&amp;quot; &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fso.deletefile(&amp;quot;iprangefile.txt&amp;quot;),true&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;exit sub&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;next &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;iprange.close&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if isarray(iparray1) and not iparray1(0)=&amp;quot;&amp;quot; then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;call addreservation(server,scopearray(i),iparray1,macarray1) &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (finaliparray(0)=&amp;quot;&amp;quot;) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for l=0 to ubound(finaliparray)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;set obj = wshell.exec(&amp;quot;netsh dhcp server &amp;quot;&amp;amp;server&amp;amp;&amp;quot; scope &amp;quot; &amp;amp;scopearray(i)&amp;amp; &amp;quot; add reservedip &amp;quot;&amp;amp;finaliparray(l)&amp;amp;&amp;quot; &amp;quot;&amp;amp;finalmacarray(l) )&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;outp = &amp;nbsp;obj.stdout.readall()&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(instr(outp,&amp;quot;Command completed successfully.&amp;quot;)&amp;lt;&amp;gt;0) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wscript.echo &amp;quot;added reservation &amp;quot;&amp;amp;finaliparray(l)&amp;amp; &amp;quot; &amp;quot;&amp;amp;finalmacarray(l)&amp;amp;&amp;quot; to server &amp;quot;&amp;amp;server&amp;amp;&amp;quot; in scope &amp;quot;&amp;amp;scopearray(i)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wscript.echo &amp;quot;The specified IP address &amp;quot;&amp;amp;finaliparray(l)&amp;amp; &amp;quot; or hardware address &amp;quot;&amp;amp; finalmacarray(l)&amp;amp; &amp;quot; is either not proper or is being used by another client.&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;next&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;redim iparray1(0)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;redim macarray1(0)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;next&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;set handle = fso.opentextfile(filename)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for i=0 to ubound(arr)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;str=trim(handle.readline)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(arr(i)=0) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;line=split(str)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wscript.echo &amp;quot;The ipaddress &amp;quot;&amp;amp;iparray3(i)&amp;amp;&amp;quot; is not present in any scope&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;next&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;handle.close&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fso.deletefile(&amp;quot;iprangefile.txt&amp;quot;),true&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;end sub&lt;/p&gt;
&lt;p&gt;---------------------------------------&lt;/p&gt;
&lt;p&gt;---------- CheckIPRange ---------------&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;function checkiprange(ip1,ip2,ip3)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;str2=split(ip1,&amp;quot;.&amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;str3=split(ip2,&amp;quot;.&amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;str4=split(ip3,&amp;quot;.&amp;quot;)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ubound(str4)&amp;lt;&amp;gt;3 then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;checkiprange=2&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;exit function&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dim string&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if cint(str2(0))&amp;lt;=cint(str4(0)) and cint(str4(0))&amp;lt;=cint(str3(0)) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if cint(str2(1))&amp;lt;=cint(str4(1)) and cint(str4(1))&amp;lt;=cint(str3(1)) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for i=2 to 3&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(cint(str2(i))&amp;gt;=0 and cint(str2(i))&amp;lt;10) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;string1=string1&amp;amp;&amp;quot;00&amp;quot;&amp;amp;str2(i)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if(cint(str2(i))&amp;gt;=10 and cint(str2(i))&amp;lt;100) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;string1=string1&amp;amp;&amp;quot;0&amp;quot;&amp;amp;str2(i)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else string1=string1&amp;amp;str2(i)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;next&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for i=2 to 3&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(cint(str3(i))&amp;gt;=0 and cint(str3(i))&amp;lt;10) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;string2=string2&amp;amp;&amp;quot;00&amp;quot;&amp;amp;str3(i)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if(cint(str3(i))&amp;gt;=10 and cint(str3(i))&amp;lt;100) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;string2=string2&amp;amp;&amp;quot;0&amp;quot;&amp;amp;str3(i)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else string2=string2&amp;amp;str3(i)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;next&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for i=2 to 3&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(cint(str4(i))&amp;gt;=0 and cint(str4(i))&amp;lt;10) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;string3=string3&amp;amp;&amp;quot;00&amp;quot;&amp;amp;str4(i)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if(cint(str4(i))&amp;gt;=10 and cint(str4(i))&amp;lt;100) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;string3=string3&amp;amp;&amp;quot;0&amp;quot;&amp;amp;str4(i)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else string3=string3&amp;amp;str4(i)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;next&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(cLng(string1)&amp;lt;=cLng(string3) and cLng(string3)&amp;lt;=cLng(string2)) then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;checkiprange=1&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;checkiprange=0&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;checkiprange=0&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;checkiprange=0&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end if&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;end function&lt;/p&gt;
&lt;p&gt;---------------------------------------&lt;/p&gt;
&lt;p&gt;mail me if you have any more issues &amp;amp; queries.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Subhash Badri&lt;/p&gt;
</description></item></channel></rss>