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

首頁 > 編程 > VBScript > 正文

利用vbs自動修改ip的代碼

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

No_500~No_560 S05
以下為vbs源碼:
1.html' target='_blank'>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
html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 自贡市| 庆元县| 明光市| 成都市| 安塞县| 山东| 海盐县| 云阳县| 呼图壁县| 东方市| 敦煌市| 平遥县| 绵竹市| 新津县| 道孚县| 绿春县| 蕲春县| 海安县| 和田县| 新干县| 门头沟区| 凌云县| 山西省| 商丘市| 陕西省| 即墨市| 天气| 苏尼特右旗| 塔河县| 清徐县| 福贡县| 吉木萨尔县| 嵩明县| 乌鲁木齐市| 福海县| 双牌县| 宁强县| 和静县| 闵行区| 额尔古纳市| 怀安县|