VBS应用-更改IP
2017-01-24 15:35
120 查看
1、更改IP地址(包括IP、子网掩码、网关、DNS);
2、更改计算机名;
3、
加入域。 资料来源:网上看到的。(作者记不起来)现拿出来,与大家分享。
1、更改IP地址
文件名:更改IP地址.vbs
代码:
Set objShell = CreateObject("Wscript.Shell")
IP = InputBox ("输入新的IP地址","IP地址")
NM="255.255.255.0" '子网掩码
GW=left(IP,8) & "1" '网关根据自己的实际情况录入,见下面的说明文字
MDNS="10.10.10.10" '首选DNS
SDNS="10.10.10.30" '备用DNS
msgbox ChangeIP(IP,NM,GW,MDNS,SDNS)
Function ChangeIP(IP, NM, GW, MDNS, SDNS)
Dim strComputer, objWMIService, colNetAdapters, strIPAddress, strSubnetMask
Dim strGateway, strGatewaymetric, strDNS, objNetAdapter, errEnable, errGateways, errDNS
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
strIPAddress=Array(IP)
strSubnetMask=Array(NM)
strGateway=Array(GW)
strDNS = Array(MDNS, SDNS)
strGatewaymetric = Array(1)
For Each objNetAdapter In colNetAdapters
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
errDNS = objNetAdapter.SetDNSServerSearchOrder(strDNS)
If errEnable = 0 And errGateways = 0 And errDNS = 0 Then
ChangeIP = "设置成功"
Else
If errEnable = 0 Then
ChangeIP = "IP地址和子网掩码设置成功, "
Else
ChangeIP = "IP地址或子网掩码设置失败, "
End If
If errGateways = 0 Then
ChangeIP = ChangeIP & "默认网关设置成功, "
Else
ChangeIP = ChangeIP & "默认网关设置失败, "
End If
If errDNS = 0 Then
ChangeIP = ChangeIP & "DNS设置成功"
Else
ChangeIP = ChangeIP & "DNS设置失败"
End If
End If
Next
End Function
说明一下,由于某公司的IP地址为10.10.x.x,其中第三段不超过二位数,并且,网关最后一段都为1,因此,我在取网关时用了GW=left(IP,8) & "1" '网关这么一句,这一句可以根据自己的情况更改。我本来想通过IP地址,取前面三段加上 1 组成网关,可是我没有找到相应的函数和方法来实现,希望高手能给补充一下。我的DNS都是相同的,因此直接录入了。
使用方法:把上面的代码复制,并粘贴至记事本中,存为 更改IP地址.vbs 。双击就可以执行。
2、更改计算机名
文件名:更改计算机名.vbs
代码:
Dim reval
Set objnet = CreateObject ("WScript.Network")
Set R = CreateObject("WScript.Shell")
reval = InputBox ("当前的计算机名是:" & objnet.ComputerName,"输入新的计算机名")
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colComputers = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
For Each objComputer in colComputers
errReturn = ObjComputer.Rename (reval)
If reval <> "" Then
return=MsgBox ("你确定要重起计算机吗?",vbokcancel+vbexclamation,"注意!")
If return=vbok Then
R.run("Shutdown.exe -r -t 0")
End if
End If
Next
这个比较简单,没有什么好说的。
3、加入域
文件名:加入域.vbs
代码:
'*把你的计算机加入域*
Const JOIN_DOMAIN = 1
Const ACCT_CREATE = 2
Const ACCT_DELETE = 4
Const WIN9X_UPGRADE = 16
Const DOMAIN_JOIN_IF_JOINED = 32
Const JOIN_UNSECURE = 64
Const MACHINE_PASSWORD_PASSED = 128
Const DEFERRED_SPN_SET = 256
Const INSTALL_INVOCATION = 262144
'你的域名称
strDomain = "domain" '这里不要按照我写的录入 ,录入你的域名。
'有domain admins组权限的用户及密码
strPassword = "password" '这里不要按照我写的录入,应根据你自己的情况。录入具有domain admins组权限用户的密码
strUser = "user" '这里不要按照我写的录入,应根据你自己的情况。录入具有domain admins组权限用户名
Set objNetwork = CreateObject("WScript.Network")
strComputer = objNetwork.ComputerName
Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _
strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & _
strComputer & "'")
ReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, _
strPassword, _
strDomain & "\" & strUser, _
NULL, _
JOIN_DOMAIN + ACCT_CREATE)
'加入域后,必须重起计算机
Set objShell = CreateObject("Wscript.Shell")
return=MsgBox ("加入域后,必须重起计算机才能生效!",vbokcancel+vbexclamation,"注意!")
If return=vbok Then
objShell.run("Shutdown.exe -r -t 0")
End if
这个脚本要注意红字的部分,使用方法同第一个脚本。
这三个脚本是为本地计算机而写的,其实这些脚本也能更改远程计算机的配置,只是稍加修改就可了。
修改这一句就能实现:strComputer = "." 改为 strComputer = "远程计算机名"。前提当然是远程计算机网络可通
1、更改IP地址(包括IP、子网掩码、网关、DNS);
2、更改计算机名;
3、
加入域。 资料来源:网上看到的。(作者记不起来)现拿出来,与大家分享。
1、更改IP地址
文件名:更改IP地址.vbs
代码:
Set objShell = CreateObject("Wscript.Shell")
IP = InputBox ("输入新的IP地址","IP地址")
NM="255.255.255.0" '子网掩码
GW=left(IP,8) & "1" '网关根据自己的实际情况录入,见下面的说明文字
MDNS="10.10.10.10" '首选DNS
SDNS="10.10.10.30" '备用DNS
msgbox ChangeIP(IP,NM,GW,MDNS,SDNS)
Function ChangeIP(IP, NM, GW, MDNS, SDNS)
Dim strComputer, objWMIService, colNetAdapters, strIPAddress, strSubnetMask
Dim strGateway, strGatewaymetric, strDNS, objNetAdapter, errEnable, errGateways, errDNS
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
strIPAddress=Array(IP)
strSubnetMask=Array(NM)
strGateway=Array(GW)
strDNS = Array(MDNS, SDNS)
strGatewaymetric = Array(1)
For Each objNetAdapter In colNetAdapters
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
errDNS = objNetAdapter.SetDNSServerSearchOrder(strDNS)
If errEnable = 0 And errGateways = 0 And errDNS = 0 Then
ChangeIP = "设置成功"
Else
If errEnable = 0 Then
ChangeIP = "IP地址和子网掩码设置成功, "
Else
ChangeIP = "IP地址或子网掩码设置失败, "
End If
If errGateways = 0 Then
ChangeIP = ChangeIP & "默认网关设置成功, "
Else
ChangeIP = ChangeIP & "默认网关设置失败, "
End If
If errDNS = 0 Then
ChangeIP = ChangeIP & "DNS设置成功"
Else
ChangeIP = ChangeIP & "DNS设置失败"
End If
End If
Next
End Function
说明一下,由于某公司的IP地址为10.10.x.x,其中第三段不超过二位数,并且,网关最后一段都为1,因此,我在取网关时用了GW=left(IP,8) & "1" '网关这么一句,这一句可以根据自己的情况更改。我本来想通过IP地址,取前面三段加上 1 组成网关,可是我没有找到相应的函数和方法来实现,希望高手能给补充一下。我的DNS都是相同的,因此直接录入了。
使用方法:把上面的代码复制,并粘贴至记事本中,存为 更改IP地址.vbs 。双击就可以执行。
2、更改计算机名
文件名:更改计算机名.vbs
代码:
Dim reval
Set objnet = CreateObject ("WScript.Network")
Set R = CreateObject("WScript.Shell")
reval = InputBox ("当前的计算机名是:" & objnet.ComputerName,"输入新的计算机名")
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colComputers = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
For Each objComputer in colComputers
errReturn = ObjComputer.Rename (reval)
If reval <> "" Then
return=MsgBox ("你确定要重起计算机吗?",vbokcancel+vbexclamation,"注意!")
If return=vbok Then
R.run("Shutdown.exe -r -t 0")
End if
End If
Next
这个比较简单,没有什么好说的。
3、加入域
文件名:加入域.vbs
代码:
'*把你的计算机加入域*
Const JOIN_DOMAIN = 1
Const ACCT_CREATE = 2
Const ACCT_DELETE = 4
Const WIN9X_UPGRADE = 16
Const DOMAIN_JOIN_IF_JOINED = 32
Const JOIN_UNSECURE = 64
Const MACHINE_PASSWORD_PASSED = 128
Const DEFERRED_SPN_SET = 256
Const INSTALL_INVOCATION = 262144
'你的域名称
strDomain = "domain" '这里不要按照我写的录入 ,录入你的域名。
'有domain admins组权限的用户及密码
strPassword = "password" '这里不要按照我写的录入,应根据你自己的情况。录入具有domain admins组权限用户的密码
strUser = "user" '这里不要按照我写的录入,应根据你自己的情况。录入具有domain admins组权限用户名
Set objNetwork = CreateObject("WScript.Network")
strComputer = objNetwork.ComputerName
Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _
strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & _
strComputer & "'")
ReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, _
strPassword, _
strDomain & "\" & strUser, _
NULL, _
JOIN_DOMAIN + ACCT_CREATE)
'加入域后,必须重起计算机
Set objShell = CreateObject("Wscript.Shell")
return=MsgBox ("加入域后,必须重起计算机才能生效!",vbokcancel+vbexclamation,"注意!")
If return=vbok Then
objShell.run("Shutdown.exe -r -t 0")
End if
这个脚本要注意红字的部分,使用方法同第一个脚本。
这三个脚本是为本地计算机而写的,其实这些脚本也能更改远程计算机的配置,只是稍加修改就可了。
修改这一句就能实现:strComputer = "." 改为 strComputer = "远程计算机名"。前提当然是远程计算机网络可通
相关文章推荐
- vbs更改代理ip代码
- DOS下更改IP
- 更改数据库服务器IP后CQ不能用的解决方法
- 用c#更改IP.Gateway,Mask等的和对.net下调用WMI的认识
- JavaScript常用的正则表达式应用(ip,email,data,time)
- 清空iis log 中自己登录ip的vbs
- ipconfig.vbs
- 一个设置ip的vbs脚本
- 更改口令的界面的开发 (VC和数据库应用)
- 快速更改IP的批處理文件
- 嵌入式 TCP/IP 协议单片机技术在网络通信中的应用
- [转]基本应用层的TCP/IP协议介绍 (IP/TCP/UDP)
- 更改WebSphere默认应用端口
- Delphi中的集成VBS脚本语言应用
- IP更改
- [收藏]JavaScript常用的正则表达式应用(ip,email,data,time)
- JavaScript常用的正则表达式应用(ip,email,data,time)
- VBS中SendKeys的基本应用