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

首頁 > 編程 > VBScript > 正文

利用vbs自動修改ip的代碼

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

機房

起始ip

ip終止ip 

網關 

機器名 

工作組 

 1號 192.168.1.1100  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
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 九台市| 页游| 华容县| 沧源| 沁水县| 温泉县| 彭阳县| 繁昌县| 江川县| 静宁县| 宁武县| 图们市| 象山县| 南陵县| 阿拉尔市| 吉水县| 钟祥市| 安阳县| 安新县| 杂多县| 卢氏县| 五台县| 旌德县| 扶绥县| 文水县| 清涧县| 富川| 东光县| 光泽县| 浠水县| 图们市| 乌海市| 安塞县| 开阳县| 武宣县| 西林县| 房产| 鸡泽县| 新巴尔虎右旗| 通辽市| 日喀则市|