本篇內(nèi)容介紹了“如何利用vbs自動(dòng)修改ip”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
成都創(chuàng)新互聯(lián)IDC提供業(yè)務(wù):聯(lián)通機(jī)房服務(wù)器托管,成都服務(wù)器租用,聯(lián)通機(jī)房服務(wù)器托管,重慶服務(wù)器租用等四川省內(nèi)主機(jī)托管與主機(jī)租用業(yè)務(wù);數(shù)據(jù)中心含:雙線機(jī)房,BGP機(jī)房,電信機(jī)房,移動(dòng)機(jī)房,聯(lián)通機(jī)房。單位機(jī)房的系統(tǒng)需要重新安裝,一共近300臺(tái)設(shè)備,使用ghost網(wǎng)絡(luò)克隆后,客戶機(jī)重新設(shè)置ip是個(gè)麻煩的事情。我們使用的教學(xué)管理軟件要求客戶機(jī)必須有固定ip,單位5個(gè)機(jī)房如下(DNS:61.134.1.4,掩碼為:255.255.255.0):
機(jī)房 | 起始ip | ip終止ip | 網(wǎng)關(guān) | 機(jī)器名 | 工作組 |
1號(hào) | 192.168.1.1 | 100 | 254 | No_100~No_160 | S01 |
2號(hào) | 192.168.1.101 | 200 | 254 | No_200~No_260 | S02 |
3號(hào) | 192.168.3.1 | 80 | 254 | No_300~No_360 | S03 |
4號(hào) | 192.168.3.81 | 160 | 254 | No_400~No_460 | S04 |
5號(hào) | 192.168.3.161 | 240 | 254 | No_500~No_560 | S05 |
以下為vbs源碼:
1.xp系統(tǒng)(測試通過,用戶為Administrator,文件為E:\fxp.vbs,啟動(dòng)組建立快捷方式fxp.lnk以便開機(jī)后自動(dòng)運(yùn)行一次)
復(fù)制代碼 代碼如下:
'/////主程序
dim msginf,machname'定義變量:對(duì)話框,機(jī)器名
msginf=msgbox("該程序只能執(zhí)行1次,請(qǐng)?jiān)赬P系統(tǒng)硬件安裝完畢后執(zhí)行!" &chr(13) & "是否繼續(xù)?",65,"修改機(jī)器網(wǎng)絡(luò)配置") '信息提示
if msginf=1 then ' 如果按確定,則
machname=inputon() ' 用函數(shù)inputon()分析
if machname<>"quit" then ' 如果返回值不等于"quit",則
wmitoip(machname) ' 運(yùn)行函數(shù)wmitoip()設(shè)置機(jī)器信息
mreboot()'重啟機(jī)器
end if
end if
'///重啟機(jī)器
sub mreboot()
dim fso,f1,f2
Set fso = CreateObject("Scripting.FileSystemObject")
'刪除啟動(dòng)組
if fso.fileexists("C:\Documents and Settings\Administrator\「開始」菜單\程序\啟動(dòng)\fxp.lnk") then
set f1=fso.getfile("C:\Documents and Settings\Administrator\「開始」菜單\程序\啟動(dòng)\fxp.lnk")
f1.delete
end if
'刪除vbs文件
if fso.fileexists("e:\fxp.vbs") then
set f2=fso.getfile("e:\fxp.vbs")
f2.delete
end if
Set WshShell = Wscript.CreateObject("Wscript.Shell")
'WshShell.Run ("shutdown.exe -r -t 5") ' 重啟
end sub
'///生成計(jì)算機(jī)名
function inputon() ' 函數(shù)inputon()
dim t ' 變量
while true ' 循環(huán)直到退出函數(shù)
t=inputbox("按一下規(guī)則輸入:" & chr(13) & chr(13) & "第1位代表機(jī)房號(hào)" & chr(13) & "第2、3位代表機(jī)器號(hào)" & chr(13) & "教師機(jī)用00代表" & chr(13) & "如:123代表1號(hào)機(jī)房23號(hào)機(jī)" & chr(13) & "請(qǐng)確保輸入正確??!","請(qǐng)輸入3位機(jī)器標(biāo)識(shí)!","") ' 輸入機(jī)算機(jī)名,默認(rèn)值為空
if t="" then ' 如果t等于空(按了取消鍵),則
inputon="quit" ' 返回值為"quit"
exit function ' 退出程序
end if
if len(t)=3 then ' 計(jì)算機(jī)號(hào)的長度為3位
if Cint(t)>=100 and Cint(t)<580 then ' 驗(yàn)證
inputon=t ' 返回需要的計(jì)算機(jī)名
exit function
end if
end if
wend
end function
'///修改機(jī)器ip、掩碼、網(wǎng)關(guān)、工作組、機(jī)器名
sub wmitoip(t)
strComputer="."
strmask="255.255.255.0"
Dim lt,rt' 變量
dim ipv,gateway,lan 'ip,網(wǎng)關(guān),工作組
lt=cint(left(t,1))'機(jī)號(hào)左1位數(shù)字值
rt=cint(right(t,2)) ' 機(jī)號(hào)右兩位數(shù)字值
if lt=1 or lt=2 then'判斷網(wǎng)關(guān)
gateway="192.168.1.254"
else
gateway="192.168.3.254"
end if
if lt=1 then '1號(hào)機(jī)房
lan="S01"
ipv="192.168.1."
if rt=0 then '教師機(jī)
ipv=ipv+"100"
else'學(xué)生機(jī)
ipv=ipv+Cstr(rt)
end if
end if
if lt=2 then '2號(hào)機(jī)房
lan="S02"
ipv="192.168.1."
if rt=0 then '教師機(jī)
ipv=ipv+"200"
else'學(xué)生機(jī)
rt=rt+100
ipv=ipv+Cstr(rt)
end if
end if
if lt=3 then '3號(hào)機(jī)房
lan="S03"
ipv="192.168.3."
if rt=0 then '教師機(jī)
ipv=ipv+"80"
else'學(xué)生機(jī)
ipv=ipv+Cstr(rt)
end if
end if
if lt=4 then '4號(hào)機(jī)房
lan="S04"
ipv="192.168.3."
if rt=0 then '教師機(jī)
ipv=ipv+"160"
else'學(xué)生機(jī)
rt=rt+80
ipv=ipv+Cstr(rt)
end if
end if
if lt=5 then '5號(hào)機(jī)房
lan="S05"
ipv="192.168.3."
if rt=0 then '教師機(jī)
ipv=ipv+"240"
else'學(xué)生機(jī)
rt=rt+160
ipv=ipv+Cstr(rt)
end if
end if
Set objWMIService=GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters=objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
strIPAddress=Array(ipv)
strSubnetMask=Array(strmask)
strGateway = Array(gateway) '修改網(wǎng)關(guān)
'strGatewayMetric = Array(1) '躍點(diǎn)數(shù)
strDNS=Array("61.134.1.4")
For Each objNetAdapter in colNetAdapters
errEnable=objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)'ip,掩碼
errGateways = objNetAdapter.SetGateways(strGateway) '網(wǎng)關(guān)
errDns=objNetAdapter.SetDNSServerSearchOrder(strDNS)'dns
Next
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colComputers = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
For Each objComputer in colComputers
err = ObjComputer.Rename("No_" & t)'機(jī)器名
ReturnValue = objComputer.JoinDomainOrWorkGroup("S0" & left(t,1))'工作組
Next
end sub
2.98系統(tǒng)
98系統(tǒng)可以生成ip.reg注冊(cè)表文件,導(dǎo)入后就可以了,源碼如下(主體思路,這次沒有98系統(tǒng),所以未完成,可參考xp系統(tǒng)的改進(jìn)):
復(fù)制代碼 代碼如下:
'/////主程序
dim msginf,machname'定義變量:對(duì)話框,機(jī)器名
msginf=msgbox("生成注冊(cè)表文件,是否繼續(xù)?",65,"getreg") '信息提示
if msginf=1 then ' 如果按確定,則
machname=inputon() ' 用函數(shù)inputon()分析
if machname<>"quit" then ' 如果返回值不等于"quit",則
setreg(machname) ' 運(yùn)行函數(shù)setreg()生成注冊(cè)表ip.reg
end if
end if
'///生成計(jì)算機(jī)名
function inputon() ' 函數(shù)inputon()
dim t ' 變量
while true ' 循環(huán)直到退出函數(shù)
t=inputbox("按一下規(guī)則輸入:" & chr(13) & chr(13) & "第1位代表機(jī)房號(hào)" & chr(13) & "第2、3位代表機(jī)器號(hào)" & chr(13) & "教師機(jī)用00代表" & chr(13) & "如:123代表1號(hào)機(jī)房23號(hào)機(jī)" & chr(13) & "請(qǐng)確保輸入正確?。?,"請(qǐng)輸入3位機(jī)器標(biāo)識(shí)!","") ' 輸入機(jī)算機(jī)名,默認(rèn)值為空
if t="" then ' 如果t等于空(按了取消鍵),則
inputon="quit" ' 返回值為"quit"
exit function ' 退出程序
end if
if len(t)=3 then ' 計(jì)算機(jī)號(hào)的長度為3位
if Cint(t)>=100 and Cint(t)<580 then ' 驗(yàn)證
inputon=t ' 返回需要的計(jì)算機(jī)名
exit function
end if
end if
wend
end function
'///生成注冊(cè)文件
sub setreg(t) ' 生成注冊(cè)表,t為機(jī)器號(hào)
Dim fso, f1,f2,lt,rt' 變量
dim ipv,gateway,lan 'ip,網(wǎng)關(guān),工作組
lt=cint(left(t,1))'機(jī)號(hào)左1位數(shù)字值
rt=cint(right(t,2)) ' 機(jī)號(hào)右兩位數(shù)字值
if lt=1 or lt=2 then'判斷網(wǎng)關(guān)
gateway="192.168.1.254"
else
gateway="192.168.3.254"
end if
if lt=1 then '1號(hào)機(jī)房
lan="S01"
ipv="192.168.1."
if rt=0 then '教師機(jī)
ipv=ipv+"100"
else'學(xué)生機(jī)
ipv=ipv+Cstr(rt)
end if
end if
if lt=2 then '2號(hào)機(jī)房
lan="S02"
ipv="192.168.1."
if rt=0 then '教師機(jī)
ipv=ipv+"200"
else'學(xué)生機(jī)
rt=rt+100
ipv=ipv+Cstr(rt)
end if
end if
if lt=3 then '3號(hào)機(jī)房
lan="S03"
ipv="192.168.3."
if rt=0 then '教師機(jī)
ipv=ipv+"80"
else'學(xué)生機(jī)
ipv=ipv+Cstr(rt)
end if
end if
if lt=4 then '4號(hào)機(jī)房
lan="S04"
ipv="192.168.3."
if rt=0 then '教師機(jī)
ipv=ipv+"160"
else'學(xué)生機(jī)
rt=rt+80
ipv=ipv+Cstr(rt)
end if
end if
if lt=5 then '5號(hào)機(jī)房
lan="S05"
ipv="192.168.3."
if rt=0 then '教師機(jī)
ipv=ipv+"240"
else'學(xué)生機(jī)
rt=rt+160
ipv=ipv+Cstr(rt)
end if
end if
Set fso = CreateObject("Scripting.FileSystemObject")
if fso.fileexists("e:\ip.reg") then
set f2=fso.getfile("e:\ip.reg")
f2.delete
end if '如果存在ip.reg,先刪了
set f1 = fso.CreateTextFile("e:\ip.reg", True) ' 建立文件ip.cfg
'f1.WriteLine("REGEDIT4") ' 以下為生成注冊(cè)表
f1.WriteLine("Windows Registry Editor Version 5.00")
f1.WriteBlankLines(1)
f1.WriteLine("[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName]")
f1.WriteLine(chr(34) & "ComputerName" & chr(34) & "=" & chr(34) & t & chr(34)) ' 計(jì)算機(jī)名
f1.WriteLine("[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000]")
f1.WriteLine(chr(34) & "IPAddress" & chr(34) & "=" & chr(34) & ipv & chr(34)) ' IP
f1.WriteLine("[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000]")
f1.WriteLine(chr(34) & "DefaultGateway" & chr(34) & "=" & chr(34) & gateway & chr(34)) ' 網(wǎng)關(guān)
f1.WriteLine("[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000]")
f1.WriteLine(chr(34) & "IPMask" & chr(34) & "=" & chr(34) & "255.255.255.0" & chr(34)) ' 子網(wǎng)掩碼
f1.WriteLine("[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]")
f1.WriteLine(chr(34) & "Comment" & chr(34) & "=" & chr(34) & t & chr(34)) ' 計(jì)算機(jī)說明
f1.WriteLine("[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]")
f1.WriteLine(chr(34) & "ComputerName" & chr(34) & "=" & chr(34) & t & chr(34)) ' 計(jì)算機(jī)名
f1.WriteLine("[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]")
f1.Writeline(chr(34) & "Workgroup" & chr(34) & "=" & chr(34) & lan & chr(34)) ' 工作組
end sub
“如何利用vbs自動(dòng)修改ip”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!