2024年3月7日發(作者:朱自清散文集)

使用腳本更改計算機名和加入域、更改IP地址
看到有人對VBS感興趣,前一段時間研究了一陣。由于經常在公司裝系統,必須做的三件
事:1、更改IP地址(包括IP、子網掩碼、網關、DNS);2、更改計算機名;3、加入域。
因此查了微軟的資料,寫了三個腳本,現拿出來,與大家分享,歡迎批評指正。
1、更改IP地址
文件名:更改IP地址.vbs
代碼:
Set objShell = CreateObject("")
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 &
"rootcimv2")
Set colNetAdapters = ery("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 = Static(strIPAddress, strSubnetMask)
errGateways = eways(strGateway, strGatewaymetric)
errDNS = ServerSearchOrder(strDNS) If errEnable
= 0 And errGateways = 0 And errDNS = 0 Then ChangeIP = "設置成功"
El
If errEnable = 0 Then
ChangeIP = "IP地址和子網掩碼設置成功, "
El
ChangeIP = "IP地址或子網掩碼設置失敗, "
End If
If errGateways = 0 Then
ChangeIP = ChangeIP & "默認網關設置成功, "
El
ChangeIP = ChangeIP & "默認網關設置失敗, "
End If
If errDNS = 0 Then
ChangeIP = ChangeIP & "DNS設置成功"
El
ChangeIP = ChangeIP & "DNS設置失敗"
End If
End If
Next
End Function
說明一下,由于我公司的IP地址為,其中第三段不超過二位數,并且,網關最后一段都為1,因此,我在取網關時用了GW=left(IP,8) & "1" '網關這么一句,這一句可以根據自己的情況更改。我本來想通過IP地址,取前面三段加上 1 組成網關,可是我沒有找到相應的函數和方法來實現,希望高手能給補充一下。我的DNS都是相同的,因此直接錄入了。
使用方法:把上面的代碼復制,并粘貼至記事本中,存為 更改IP地址.vbs 。雙擊就可以執行。
2、更改計算機名
文件名:更改計算機名.vbs
代碼:
Dim reval
Set objnet = CreateObject ("k") Set R =
CreateObject("") reval = InputBox ("當前的計算機名是:" &
erName,"輸入新的計算機名") On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _ &
"{impersonationLevel=impersonate}!" _ & strComputer & "rootcimv2")
Set colComputers = ery _ ("Select * from
Win32_ComputerSystem")
For Each objComputer in colComputers errReturn =
(reval) If reval <> "" Then
return=MsgBox ("你確定要重起計算機嗎?",vbokcancel+vbexclamation,"注意~") If return=vbok Then
(" -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組權限用戶的密碼
strUr = "ur" '這里不要按照我寫的錄入,應根據你自己的情況。錄入具有domain admins組權限用戶名
Set objNetwork = CreateObject("k") strComputer =
erName Set objComputer =
GetObject("winmgmts:{impersonationLevel=Impersonate}!" & _
strComputer & "rootcimv2:Win32_='" & _
strComputer & "'")
ReturnValue = mainOrWorkGroup(strDomain, _
strPassword, _
strDomain & "" & strUr, _
NULL, _
JOIN_DOMAIN + ACCT_CREATE)
'加入域后,必須重起計算機
Set objShell = CreateObject("") return=MsgBox ("加入域后,必須重起計算機才能生效~",vbokcancel+vbexclamation,"注意~")
If return=vbok Then
(" -r -t 0") End if
這個腳本要注意紅字的部分,使用方法同第一個腳本。
這三個腳本是為本地計算機而寫的,其實這些腳本也能更改遠程計算機的配置,只是稍加修改就可了。
修改這一句就能實現:strComputer = "." 改為 strComputer = "遠程計算機名"。前提當然是遠程計算機網絡可通。
本文發布于:2024-03-07 16:03:44,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/1709798624253268.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:使用腳本更改計算機名和加入域、更改IP地址.doc
本文 PDF 下載地址:使用腳本更改計算機名和加入域、更改IP地址.pdf
| 留言與評論(共有 0 條評論) |