注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

c.pass 的博客

众里寻他千百度,蓦然回首,那人却在,灯火阑珊处。

 
 
 

日志

 
 

使用脚本更改计算机名和加入域、更改IP地址  

2009-08-06 23:23:20|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1、更改IP地址(包括IP、子网掩码、网关、DNS);

2、更改计算机名;

3、 加入域。       资料来源:网上看到的。(作者记不起来)现拿出来,与大家分享。

 

1、更改IP地址使用脚本更改计算机名和加入域、更改IP地址 - 哦 - c.pass 的博客

文件名:更改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、更改计算机名使用脚本更改计算机名和加入域、更改IP地址 - 哦 - c.pass 的博客

文件名:更改计算机名.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、加入域使用脚本更改计算机名和加入域、更改IP地址 - 哦 - c.pass 的博客

文件名:加入域.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 = "远程计算机名"。前提当然是远程计算机网络可通。

 

 

                                   收藏首页:http://www.2345.com/?kwimmnl

  评论这张
 
阅读(846)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017