国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

利用vbs自動修改ip的代碼

2020-06-26 18:05:44
字體:
來源:轉載
供稿:網友
單位機房的系統需要重新安裝,一共近300臺設備,使用ghost網絡克隆后,客戶機重新設置ip是個麻煩的事情。我們使用的教學管理軟件要求客戶機必須有固定ip,單位5個機房如下(DNS:61.134.1.4,掩碼為:255.255.255.0):

機房

起始ip

ip終止ip

網關

機器名

工作組

 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系統(測試通過,用戶為Administrator,文件為E:/fxp.vbs,啟動組建立快捷方式fxp.lnk以便開機后自動運行一次)
復制代碼代碼如下:

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

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

if machname<>"quit" then ' 如果返回值不等于"quit",則  
wmitoip(machname) ' 運行函數wmitoip()設置機器信息  
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() ' 函數inputon()  
dim t ' 變量  
while true ' 循環直到退出函數  
t=inputbox("按一下規則輸入:" & chr(13) & chr(13) & "第1位代表機房號" & chr(13) & "第2、3位代表機器號" & chr(13) & "教師機用00代表" & chr(13) & "如:123代表1號機房23號機" & chr(13) & "請確保輸入正確!!","請輸入3位機器標識!","") ' 輸入機算機名,默認值為空  
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、掩碼、網關、工作組、機器名  
sub wmitoip(t)  
strComputer="."  
strmask="255.255.255.0"  
Dim lt,rt' 變量  
dim ipv,gateway,lan 'ip,網關,工作組  
lt=cint(left(t,1))'機號左1位數字值  
rt=cint(right(t,2)) ' 機號右兩位數字值  

if lt=1 or lt=2 then'判斷網關  
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'學生機  
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'學生機  
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'學生機  
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'學生機  
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'學生機  
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) '修改網關  
'strGatewayMetric = Array(1) '躍點數  
strDNS=Array("61.134.1.4")  

For Each objNetAdapter in colNetAdapters   
errEnable=objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)'ip,掩碼  
errGateways = objNetAdapter.SetGateways(strGateway) '網關  
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系統 

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


復制代碼代碼如下:

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

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

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

'///生成計算機名  
function inputon() ' 函數inputon()  
dim t ' 變量  
while true ' 循環直到退出函數  
t=inputbox("按一下規則輸入:" & chr(13) & chr(13) & "第1位代表機房號" & chr(13) & "第2、3位代表機器號" & chr(13) & "教師機用00代表" & chr(13) & "如:123代表1號機房23號機" & chr(13) & "請確保輸入正確!!","請輸入3位機器標識!","") ' 輸入機算機名,默認值為空  
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,網關,工作組  
lt=cint(left(t,1))'機號左1位數字值  
rt=cint(right(t,2)) ' 機號右兩位數字值  

if lt=1 or lt=2 then'判斷網關  
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'學生機  
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'學生機  
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'學生機  
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'學生機  
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'學生機  
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)) ' 網關  
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)) ' 子網掩碼  
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
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 方山县| 如皋市| 广宗县| 乌拉特后旗| 仁布县| 宁波市| 兴国县| 中宁县| 沙雅县| 襄樊市| 西吉县| 兴山县| 肇东市| 吉木乃县| 古蔺县| 鄂托克前旗| 平塘县| 乐至县| 象州县| 东海县| 双牌县| 延庆县| 政和县| 咸阳市| 伊金霍洛旗| 岐山县| 梁河县| 东源县| 施秉县| 澄迈县| 陆河县| 阳谷县| 和龙市| 鄂托克前旗| 门源| 儋州市| 新宁县| 云龙县| 凤翔县| 长垣县| 临海市|