主頁 > 知識庫 > 利用vbs自動修改ip的代碼

利用vbs自動修改ip的代碼

熱門標(biāo)簽:合肥高德地圖標(biāo)注 拉薩外呼系統(tǒng)業(yè)務(wù) 百度地圖標(biāo)注是什么意思 外呼系統(tǒng)telrobot 廣州ai電銷機器人一般多少錢 深圳外呼系統(tǒng)收費 外呼線路中繼線是什么 怎么看地圖標(biāo)注 外呼系統(tǒng)免費招代理
單位機房的系統(tǒng)需要重新安裝,一共近300臺設(shè)備,使用ghost網(wǎng)絡(luò)克隆后,客戶機重新設(shè)置ip是個麻煩的事情。我們使用的教學(xué)管理軟件要求客戶機必須有固定ip,單位5個機房如下(DNS:61.134.1.4,掩碼為:255.255.255.0):

機房

起始ip

ip終止ip 

網(wǎng)關(guān) 

機器名 

工作組 

 1號  192.168.1.1 100   254   No_100~No_160  S01
 2號  192.168.1.101  200  254   No_200~No_260  S02
 3號  192.168.3.1  80  254  No_300~No_360  S03
 4號  192.168.3.81  160  254  No_400~No_460  S04
 5號  192.168.3.161  240  254   No_500~No_560  S05

以下為vbs源碼:
1.xp系統(tǒng)(測試通過,用戶為Administrator,文件為E:\fxp.vbs,啟動組建立快捷方式fxp.lnk以便開機后自動運行一次)
復(fù)制代碼 代碼如下:

'/////主程序 
dim msginf,machname'定義變量:對話框,機器名 
msginf=msgbox("該程序只能執(zhí)行1次,請在XP系統(tǒng)硬件安裝完畢后執(zhí)行!" chr(13)  "是否繼續(xù)?",65,"修改機器網(wǎng)絡(luò)配置") '信息提示 
if msginf=1 then ' 如果按確定,則 

machname=inputon() ' 用函數(shù)inputon()分析 

if machname>"quit" then ' 如果返回值不等于"quit",則 
wmitoip(machname) ' 運行函數(shù)wmitoip()設(shè)置機器信息 
mreboot()'重啟機器 
end if 
end if 

'///重啟機器 
sub mreboot() 
dim fso,f1,f2 
Set fso = CreateObject("Scripting.FileSystemObject") 

'刪除啟動組 
if fso.fileexists("C:\Documents and Settings\Administrator\「開始」菜單\程序\啟動\fxp.lnk") then 
set f1=fso.getfile("C:\Documents and Settings\Administrator\「開始」菜單\程序\啟動\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 

'///生成計算機名 
function inputon() ' 函數(shù)inputon() 
dim t ' 變量 
while true ' 循環(huán)直到退出函數(shù) 
t=inputbox("按一下規(guī)則輸入:"  chr(13)  chr(13)  "第1位代表機房號"  chr(13)  "第2、3位代表機器號"  chr(13)  "教師機用00代表"  chr(13)  "如:123代表1號機房23號機"  chr(13)  "請確保輸入正確?。?,"請輸入3位機器標(biāo)識!","") ' 輸入機算機名,默認(rèn)值為空 
if t="" then ' 如果t等于空(按了取消鍵),則 
inputon="quit" ' 返回值為"quit" 
exit function ' 退出程序 
end if 
if len(t)=3 then ' 計算機號的長度為3位 
if Cint(t)>=100 and Cint(t)580 then ' 驗證 
inputon=t ' 返回需要的計算機名 
exit function 
end if 
end if 
wend 
end function 


'///修改機器ip、掩碼、網(wǎng)關(guān)、工作組、機器名 
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))'機號左1位數(shù)字值 
rt=cint(right(t,2)) ' 機號右兩位數(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號機房 
lan="S01" 
ipv="192.168.1." 
if rt=0 then '教師機 
ipv=ipv+"100" 
else'學(xué)生機 
ipv=ipv+Cstr(rt) 
end if 
end if 

if lt=2 then '2號機房 
lan="S02" 
ipv="192.168.1." 
if rt=0 then '教師機 
ipv=ipv+"200" 
else'學(xué)生機 
rt=rt+100 
ipv=ipv+Cstr(rt) 
end if 
end if 

if lt=3 then '3號機房 
lan="S03" 
ipv="192.168.3." 
if rt=0 then '教師機 
ipv=ipv+"80" 
else'學(xué)生機 
ipv=ipv+Cstr(rt) 
end if 
end if 

if lt=4 then '4號機房 
lan="S04" 
ipv="192.168.3." 
if rt=0 then '教師機 
ipv=ipv+"160" 
else'學(xué)生機 
rt=rt+80 
ipv=ipv+Cstr(rt) 
end if 
end if 

if lt=5 then '5號機房 
lan="S05" 
ipv="192.168.3." 
if rt=0 then '教師機 
ipv=ipv+"240" 
else'學(xué)生機 
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) '躍點數(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)'機器名 
    ReturnValue = objComputer.JoinDomainOrWorkGroup("S0"  left(t,1))'工作組   
Next 

end sub 



2.98系統(tǒng)

98系統(tǒng)可以生成ip.reg注冊表文件,導(dǎo)入后就可以了,源碼如下(主體思路,這次沒有98系統(tǒng),所以未完成,可參考xp系統(tǒng)的改進):


復(fù)制代碼 代碼如下:

'/////主程序 
dim msginf,machname'定義變量:對話框,機器名 
msginf=msgbox("生成注冊表文件,是否繼續(xù)?",65,"getreg") '信息提示 
if msginf=1 then ' 如果按確定,則 

machname=inputon() ' 用函數(shù)inputon()分析 

if machname>"quit" then ' 如果返回值不等于"quit",則 
setreg(machname) ' 運行函數(shù)setreg()生成注冊表ip.reg 
end if 
end if 

'///生成計算機名 
function inputon() ' 函數(shù)inputon() 
dim t ' 變量 
while true ' 循環(huán)直到退出函數(shù) 
t=inputbox("按一下規(guī)則輸入:"  chr(13)  chr(13)  "第1位代表機房號"  chr(13)  "第2、3位代表機器號"  chr(13)  "教師機用00代表"  chr(13)  "如:123代表1號機房23號機"  chr(13)  "請確保輸入正確??!","請輸入3位機器標(biāo)識!","") ' 輸入機算機名,默認(rèn)值為空 
if t="" then ' 如果t等于空(按了取消鍵),則 
inputon="quit" ' 返回值為"quit" 
exit function ' 退出程序 
end if 
if len(t)=3 then ' 計算機號的長度為3位 
if Cint(t)>=100 and Cint(t)580 then ' 驗證 
inputon=t ' 返回需要的計算機名 
exit function 
end if 
end if 
wend 
end function 

'///生成注冊文件 
sub setreg(t) ' 生成注冊表,t為機器號 
Dim fso, f1,f2,lt,rt' 變量 
dim ipv,gateway,lan 'ip,網(wǎng)關(guān),工作組 
lt=cint(left(t,1))'機號左1位數(shù)字值 
rt=cint(right(t,2)) ' 機號右兩位數(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號機房 
lan="S01" 
ipv="192.168.1." 
if rt=0 then '教師機 
ipv=ipv+"100" 
else'學(xué)生機 
ipv=ipv+Cstr(rt) 
end if 
end if 

if lt=2 then '2號機房 
lan="S02" 
ipv="192.168.1." 
if rt=0 then '教師機 
ipv=ipv+"200" 
else'學(xué)生機 
rt=rt+100 
ipv=ipv+Cstr(rt) 
end if 
end if 

if lt=3 then '3號機房 
lan="S03" 
ipv="192.168.3." 
if rt=0 then '教師機 
ipv=ipv+"80" 
else'學(xué)生機 
ipv=ipv+Cstr(rt) 
end if 
end if 

if lt=4 then '4號機房 
lan="S04" 
ipv="192.168.3." 
if rt=0 then '教師機 
ipv=ipv+"160" 
else'學(xué)生機 
rt=rt+80 
ipv=ipv+Cstr(rt) 
end if 
end if 

if lt=5 then '5號機房 
lan="S05" 
ipv="192.168.3." 
if rt=0 then '教師機 
ipv=ipv+"240" 
else'學(xué)生機 
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") ' 以下為生成注冊表 
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)) ' 計算機名 
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)) ' 計算機說明 
f1.WriteLine("[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]") 
f1.WriteLine(chr(34)  "ComputerName"  chr(34)  "="  chr(34)  t  chr(34)) ' 計算機名 
f1.WriteLine("[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]") 
f1.Writeline(chr(34)  "Workgroup"  chr(34)  "="  chr(34)  lan  chr(34)) ' 工作組 
end sub
您可能感興趣的文章:
  • bat 選項之修改ip的腳本代碼(讓用戶可以選擇操作并進行判斷執(zhí)行)
  • Windows下用命令行修改IP地址的方法詳解(附批處理文件)
  • dos環(huán)境下修改ip地址
  • 用bat文件修改ip
  • 使用腳本自動修改ip設(shè)置

標(biāo)簽:嘉興 臺灣 周口 玉林 延安 漳州 六安 廣安

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《利用vbs自動修改ip的代碼》,本文關(guān)鍵詞  利用,vbs,自動,修改,的,代碼,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《利用vbs自動修改ip的代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于利用vbs自動修改ip的代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章