vbs提示无法更改ip地址

vbs提示无法更改ip地址,第1张

vbs提示无法更改ip地址是设置了禁止修改IP地址功能。关闭禁止功能方法如下:

1、可以在管理员模式进入组策略。

2、双击用户配置,点击管理模板。

3、点击网络及拨号连接,禁止访问LAN连接的属性。

4、在出现的对话框中看看是不是选择了启用,如选择启用,关闭即可。

单位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

呵呵~~ 很简单的错误啊!

你case mac 时,mac 为字符串吧!

所以 代码该动下,

Select Case mac

Case "00:22:FA:0D:FB:E8"

Name="A01"

Case Else

Name="非微机室计算机"

祝你好运。 

还有一个问题,我提出下,当本机MAC不止一个时,mac将会获取最后一个mac。

比如,我笔记本电脑,有2个网卡,无线也开了,那么应该是获取了无线网卡的地址。

请采纳!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11243115.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存