本文目录一览:
VBS能否修改IP?
单位5个机房如下(DNS:61.134.1.4,掩码为:255.255.255.0):编号ip起始 ip中止 网关 机器名 工作组 1号192.168.1.1100 254No_100~No_160S012号192.168.1.101200254No_200~No_260S023号192.168.3.180254No_300~No_360S034号192.168.3.81160254No_400~No_460S045号192.168.3.161240254 No_500~No_560S05 '/////主程序
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 ifSet 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 ifif 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 ifif 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 ifif 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 ifif 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 ifif 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 ifSet 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
NextSet 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))'工作组
Nextend sub
求vbs获取本机的公网IP
使用vbs更改ip2008-07-29 14:24vbs脚本的功能非常强大, 管理系统简单方便!下面的脚本win2000和winxp都可以使用,win2003没有测试过,应该也没有问题。如果需要经常切换网关,或是ip,这个脚本是最方便的了。稍微修改一下甚至可以做到1分钟变一次ip。changeip.vbsstrComputer = "."
Set objWMIService = GetObject("winmgmts:\\" strComputer "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each objNetAdapter in colNetAdapters
sip=objNetAdapter.IPAddress
strIPAddress = sip '保持原来的ip,如果需要修改ip为192.168.0.200:strIPAddress = Array("192.168.0.200")
strSubnetMask = Array("255.255.255.0")
strGateway = Array("192.168.0.254") '修改网关为192.168.0.254
strGatewayMetric = Array(1) errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
If errEnable = 0 Then
WScript.Echo "The IP address has been changed."
Else
WScript.Echo "The IP address could not be changed."
End If
exit for '只修改第一个网卡的设置
Next
VBS脚本如何获取当前计算机的ip地址?
如果你有Winsock控件的话,可以用下面的程序来得到:
Dim WS
Set WS=CreateObject("MSWinsock.Winsock")
MsgBox "Local IP=" WS.LocalIP
弹出信息框中会显示本地IP。
而Winsock控件,可从通过安装VB6.0来获得。
///
代码如下
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" strComputer "\root\cimv2")
Set IPConfigSet = objWMIService.ExecQuery _
("Select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each IPConfig in IPConfigSet
If Not IsNull(IPConfig.IPAddress) Then
For i=LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress)
WScript.Echo IPConfig.IPAddress(i)
Next
End If
Next
求一个vbs脚本获取外网ip
'══代══码══开══始════
on error resume next
set ie=CreateObject("internetexplorer.application")
ie.navigate("")
ie.Visible=False
While ie.busy Or ie.readystate 4
WEnd
Set regEx = New RegExp
regEx.Pattern ="\d.*\d"
Set Matches = regEx.Execute(ie.document.body.innerhtml)
ie.quit
For Each Match in Matches
RetStr=Match.Value
Next
msgbox "外网IP是:"RetStr
'══代══码══结══束════