注册 登录
编程论坛 VB6论坛

求大神帮忙看看这个VBS代码

sulli 发布于 2019-10-10 15:36, 1644 次点击
这是我在网上找的一个改计算机名的VBS,但是不能改工作组,能不能加一条东西,自动把工作组改成“ZBCC-JS”呀?要不然每次点完,还是要手动改工作组,好纠结。
程序代码:

Dim reval
Set objnet = CreateObject ("")
Set R = CreateObject("WScript.Shell")
'On Error Resume Next
Const DNS1="192.168.70.30"    '主DNS,根据自已的实际情况改
Const GateWay="172.20.147.21"   '网关,根据自己的实际情况改
Const MASK="255.255.255.0"    ',子网掩码,C类地址都用这个
nam=0
nam=InPutBox("请输入新的计算机名,点确定之前请关闭杀毒软件。当前的计算机名是:"& ,"输入新的计算机名","新的计算机名")
num=0
num=InPutBox("请输入IP地址,这里只能改第一张有线网卡的IP。点确定之前请关闭杀毒软件","输入IP地址")
if num=0 or num>255 or num <2 then MsgBox "输入有错误,退出。" : WScript.quit
num=Cint(num)
IP="172.20.147."&num   '这里172.20.147.根据自己的实际情况改
num=Cstr(num)
if num <10 then
num="0"&num
end if
COMPUTER_NAME="ZBCC-JS-"&nam  '这里ZBCC-JS-根据自己的实际情况改
wscript.echo "修改成功!计算机名:"& COMPUTER_NAME &"  IP地址:"& IP&"重新启动后生效。"
dim fso,wshell,ipobj,ComputerObj,Nobj,Adapter,LINK_INDEX,LINK_NAME
Set Adapter=GetObject("winmgmts:").InstancesOf("WIN32_NetworkAdapter")
For Each link In Adapter
If mid(,1,4)="本地连接" And InStr(1,link.name,"TV/Video") =0 Then  '这样处理因为有时叫本地连接1.2.3...然后再除掉装摄像头后的虚拟网卡
LINK_NAME=End If
Next
set wshell=CreateObject("WScript.Shell")
Set fso=CreateObject("Scripting.FileSystemObject")
Set nobj=GetObject("winmgmts:\\.\root\cimv2")
Set ComputerObj=nobj.ExecQuery("select * from Win32_ComputerSystem")
Set ipobj=nobj.execQuery("select * from WIN32_NETWORKADAPTERCONFIGURATION where index="&CStr(LINK_INDEX))
'fso.DeleteFile WScript.ScriptFullName
for each co in computerobj
co.rename COMPUTER_NAME
next
for each IO in ipobj
IO.EnableStatic Array(IP),Array(MASK)
IO.SetGateWays Array(GateWay)
IO.SetDNSServerSearchOrder Array(DNS1)
next
1 回复
#2
sulli2019-10-13 16:36
自己动手已解决
程序代码:
Set Wshshell = CreateObject("Wscript.Shell")
Wshshell.run "cmd /c wmic computersystem where Name=""%COMPUTERNAME%"" call JoinDomainOrWorkgroup Name=""ZBCC-JS""",vbhide    '工作组名ZBCC-JS根据自已的实际情况改
Dim reval
Set objnet = CreateObject ("")
Set R = CreateObject("WScript.Shell")
'On Error Resume Next
Const DNS1="192.168.70.30"    '主DNS,根据自已的实际情况改
Const GateWay="172.20.147.21"   '网关,根据自己的实际情况改
Const MASK="255.255.255.0"    ',子网掩码,C类地址都用这个
nam=0
nam=InPutBox("请输入新的计算机名,点确定之前请关闭杀毒软件。当前的计算机名是:"& ,"输入新的计算机名","新的计算机名")
num=0
num=InPutBox("请输入IP地址,这里只能改第一张有线网卡的IP。点确定之前请关闭杀毒软件","输入IP地址")
if num=0 or num>255 or num <2 then MsgBox "输入有错误,退出。" : WScript.quit
num=Cint(num)
IP="172.20.147."&num   '这里172.20.147.根据自己的实际情况改
num=Cstr(num)
if num <10 then
num="0"&num
end if
COMPUTER_NAME="ZBCC-JS-"&nam  '这里ZBCC-JS-根据自己的实际情况改
wscript.echo "修改成功!计算机名:"& COMPUTER_NAME &"  IP地址:"& IP&"重新启动后生效。"
dim fso,wshell,ipobj,ComputerObj,Nobj,Adapter,LINK_INDEX,LINK_NAME
Set Adapter=GetObject("winmgmts:").InstancesOf("WIN32_NetworkAdapter")
For Each link In Adapter
If mid(,1,4)="本地连接" And InStr(1,link.name,"TV/Video") =0 Then  '这样处理因为有时叫本地连接1.2.3...然后再除掉装摄像头后的虚拟网卡
LINK_NAME=End If
Next
set wshell=CreateObject("WScript.Shell")
Set fso=CreateObject("Scripting.FileSystemObject")
Set nobj=GetObject("winmgmts:\\.\root\cimv2")
Set ComputerObj=nobj.ExecQuery("select * from Win32_ComputerSystem")
Set ipobj=nobj.execQuery("select * from WIN32_NETWORKADAPTERCONFIGURATION where index="&CStr(LINK_INDEX))
'fso.DeleteFile WScript.ScriptFullName
for each co in computerobj
co.rename COMPUTER_NAME
next
for each IO in ipobj
IO.EnableStatic Array(IP),Array(MASK)
IO.SetGateWays Array(GateWay)
IO.SetDNSServerSearchOrder Array(DNS1)
next
1