挺好用的自动改名加域工具.docx

上传人:小飞机 文档编号:3545653 上传时间:2023-03-13 格式:DOCX 页数:17 大小:41.03KB
返回 下载 相关 举报
挺好用的自动改名加域工具.docx_第1页
第1页 / 共17页
挺好用的自动改名加域工具.docx_第2页
第2页 / 共17页
挺好用的自动改名加域工具.docx_第3页
第3页 / 共17页
挺好用的自动改名加域工具.docx_第4页
第4页 / 共17页
挺好用的自动改名加域工具.docx_第5页
第5页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《挺好用的自动改名加域工具.docx》由会员分享,可在线阅读,更多相关《挺好用的自动改名加域工具.docx(17页珍藏版)》请在三一办公上搜索。

1、挺好用的自动改名加域工具MAIN.bat 中的内容 echo OFF cls title 歡迎使用FIS加域軟件加入FIS域. :menu cls color 0A echo. echo = echo * 請輸入您即將進行的操作 * echo = echo. echo 1.分配計算機名稱加入FISecho. echo 2.將計算機退出FIS域 echo. echo 3.echo. echo 4.echo. echo 5.echo. echo 6.修改計算機主頁 echo. echo 7.添加IE信任站點、設置安全選項 echo. echo Q. echo. echo. :cho set cho

2、ice= set /p choice= 請輸入: IF NOT %choice%= SET choice=%choice:0,1% if /i %choice%=1 goto changeName if /i %choice%=2 goto UNJOINDOMAIN if /i %choice%=3 goto AddGROUP if /i %choice%=4 goto INI if /i %choice%=5 goto clearall if /i %choice%=6 goto changeindex if /i %choice%=7 goto changeietest if /i %ch

3、oice%=Q goto endd echo 輸入有誤, echo. goto cho :changeName CALL changeName.bat pause GOTO menu :SHUTDOWN -t 0 -r :UNJOINDOMAIN CALL UNJOINDOMAIN.BAT GOTO menu :AddGROUP CALL AddGROUP.BAT GOTO menu :INI CALL changepasswd.bat GOTO menu :clearall CALL clear.bat GOTO menu :changeindex CALL changeindex.bat

4、goto menu :changeietest :changeindex CALL changeietest.bat goto menu :end PAUSE Changename.bat ECHO ECHO 計算機名稱:%NEWNAME% C:FA1Fnamelist1.bat ECHO ECHO OFF C:FA1Fnamelist1.bat ECHO %NEWNAME% C:FA1Fnamelist1.txt ECHO %NEWNAME% Z:FA1FnamelistALL.txt COPY C:FA1Fnamelist1.txt Z:FA1Fnamelist.txt NET USE *

5、 /D /Y cls ECHO 請您記下為您分配的計算機名稱 :ECHO 此名稱需要在修改計算機名時手動輸入 CALL C:FA1Fnamelist1.bat color 0A cscript.exe /nologo fis.vbs %NEWNAME% GOTO END :SA1F net use * /d /y net use z: 192.168.0.2computerList test+123 /user:test copy z:SA1Fnamelist.txt c: for /f tokens=3,4 delims=_ %i in (c:SA1Fnamelist.txt) do set

6、 localIP=%i ECHO %localIP% SET var= %localIP% SET /a var+=1 ECHO %var% SET NEWNAME=ICC_SA1_%var% ECHO ECHO ON C:SA1Fnamelist1.bat ECHO color 0C C:SA1Fnamelist1.bat ECHO ECHO 計算機名稱:%NEWNAME% C:SA1Fnamelist1.bat ECHO ECHO OFF C:SA1Fnamelist1.bat ECHO %NEWNAME% C:SA1Fnamelist1.txt ECHO %NEWNAME% Z:SA1F

7、namelistALL.txt COPY C:SA1Fnamelist1.txt Z:SA1Fnamelist.txt NET USE * /D /Y CLS ECHO 請您記下為您分配的計算機名稱 :ECHO 此名稱需要在修改計算機名時手動輸入 CALL C:SA1Fnamelist1.bat ECHO OFF color 0A cscript.exe /nologo fis.vbs %NEWNAME% GOTO END :FA2F net use * /d /y net use z: 192.168.0.2computerList test+123 /user:test copy z:FA

8、2Fnamelist.txt c: for /f tokens=3,4 delims=_ %i in (c:FA2Fnamelist.txt) do set localIP=%i ECHO %localIP% SET var= %localIP% SET /a var+=1 ECHO %var% SET NEWNAME=ICC_FA2_%var% ECHO ECHO ON C:FA2Fnamelist1.bat ECHO color 0C C:FA2Fnamelist1.bat ECHO ECHO 計算機名稱:%NEWNAME% C:FA2Fnamelist1.bat ECHO ECHO OF

9、F C:FA2Fnamelist1.bat ECHO %NEWNAME% C:FA2Fnamelist1.txt ECHO %NEWNAME% Z:FA2FnamelistALL.txt COPY C:FA2Fnamelist1.txt Z:FA2Fnamelist.txt NET USE * /D /Y cls ECHO 請您記下為您分配的計算機名稱 :ECHO 此名稱需要在修改計算機名時手動輸入 CALL C:FA2Fnamelist1.bat color 0A cscript.exe /nologo fis.vbs %NEWNAME% GOTO END :SA2F net use * /

10、d /y net use z: 192.168.0.2computerList test+123 /user:test copy z:SA2Fnamelist.txt c: for /f tokens=3,4 delims=_ %i in (c:SA2Fnamelist.txt) do set localIP=%i ECHO %localIP% SET var= %localIP% SET /a var+=1 ECHO %var% SET NEWNAME=ICC_SA2_%var% ECHO ECHO ON C:SA2Fnamelist1.bat ECHO color 0C C:SA2Fnam

11、elist1.bat ECHO ECHO 計算機名稱:%NEWNAME% C:SA2Fnamelist1.bat ECHO ECHO OFF C:SA2Fnamelist1.bat ECHO %NEWNAME% C:SA2Fnamelist1.txt ECHO %NEWNAME% Z:SA2FnamelistALL.txt COPY C:SA2Fnamelist1.txt Z:SA2Fnamelist.txt NET USE * /D /Y cls ECHO 請您記錄為您分配的計算機名稱 :ECHO 此名稱需要在修改計算機名時手動輸入 CALL C:SA2Fnamelist1.bat colo

12、r 0A cscript.exe /nologo fis.vbs %NEWNAME% GOTO END :FA3F net use * /d /y net use z: 192.168.0.2computerList test+123 /user:test copy z:FA3Fnamelist.txt c: for /f tokens=3,4 delims=_ %i in (c:FA3Fnamelist.txt) do set localIP=%i ECHO %localIP% SET var= %localIP% SET /a var+=1 ECHO %var% SET NEWNAME=T

13、SB_FA3_%var% ECHO ECHO ON C:FA3Fnamelist1.bat ECHO color 0C C:FA3Fnamelist1.bat ECHO ECHO 計算機名稱:%NEWNAME% C:FA3Fnamelist1.bat ECHO ECHO OFF C:FA3Fnamelist1.bat ECHO %NEWNAME% C:FA3Fnamelist1.txt ECHO %NEWNAME% Z:FA3FnamelistALL.txt COPY C:FA3Fnamelist1.txt Z:FA3Fnamelist.txt NET USE * /D /Y CLS ECHO

14、 請您記錄為您分配的計算機名稱 :ECHO 此名稱需要在修改計算機名時手動輸入 CALL C:FA3Fnamelist1.BAT color 0A cscript.exe /nologo fis.vbs %NEWNAME% GOTO END :END FIS.VBS 加域 On Error Resume Next Const JOIN_DOMAIN = 1 Const ACCT_CREATE = 2 Const ACCT_DELETE = 4 Const WIN9X_UPGRADE = 16 Const DOMAIN_JOIN_IF_JOINED = 32 Const JOIN_UNSECUR

15、E = 64 Const MACHINE_PASSWORD_PASSED = 128 Const DEFERRED_SPN_SET = 256 Const INSTALL_INVOCATION = 262144 Dim strDomain,strPassword,strUser,strComputer Dim objWMIService,objProcess, objNetwork Public strUserName Public strComputerName strDomain = iccfis.inventec strUser = iccfisus111000 strPassword

16、= icc+123 strLocalGroup = administrators strDCMachine = DCName varExitErrorLevel = 0 Set objNetwork = CreateObject(WScript.Network) strHostName = objNetwork.ComputerName Set objNetwork = Nothing WScript.Echo 使用须知:用该脚本加域可以同时修改计算机名称,并将域用户加入本地管理员组。 & VbCrLf &_ 仅修改计算机名称不会将域用户加入本地管理员组,您需要自己操作。 & VbCrLf &

17、_ 同时所有的操作都不会帮用户迁移任何配置文件,您需要自己操作。 & VbCrLf &_ - & VbCrLf &_ 1. 加域 & VbCrLf &_ 2. 修改计算机名称 & vbCrlf &_ - WScript.StdOut.Write 选择操作: varOper = WScript.StdIn.ReadLine Select Case varOper Case 1 subQueryForUser subQueryForComp subJoin Case 2 subQueryForComp subRename Case 3 subRemove Case Else subInvalidA

18、rg End Select Reboot system if success If varExitErrorLevel = 0 Then Dim MyVar MyVar =MsgBox (成功完成. & vbCrLf & 请关闭所有的应用程序. & vbCrLf &_ 点击确定后重启电脑., vbOKOnly,Reboot!) If MyVar = 1 Then Set objOperatingSystems = GetObject(winmgmts:(Shutdown)/./root/cimv2).ExecQuery(select * from Win32_OperatingSystem w

19、here Primary=true) For Each objOperatingSystem In objOperatingSystems objOperatingSystem.Reboot Next End If Else WScript.Echo 完成, 但有错误发生. 请联系 IT 服务热线寻求帮助. End If Sub subQueryForUser On Error Resume Next WScript.StdOut.Write 输入你的用户名 (例如: zhangsan): strUserName = WScript.StdIn.ReadLine If Len(strUserN

20、ame)=0 Then subInvalidArg End If Dim objConnection,objCommand,objRecordSet Set objConnection = CreateObject(ADODB.Connection) Set objCommand = CreateObject(ADODB.Command) objConnection.Provider = ADsDSOObject objConnection.Properties(User ID) = strUser objConnection.Properties(Password) = strPasswor

21、d objConnection.Properties(Encrypt Password) = True objConnection.Open Active Directory Provider Set objCommand.ActiveConnection = objConnection objCommand.CommandText = ;(&(objectCategory=person)(objectClass=User) & _ (samAccountName= & strUserName & );samAccountName;subtree Set objRecordSet = objC

22、ommand.Execute If(Err.number 0) Then subDisplay fncErrorMessage(Hex(Err.Number), Err.Description, True) WScript.Quit Else If objRecordset.RecordCount = 0 Then WScript.Echo 用户名 & strUserName & & 不存在! &_ 请确认你的用户名, 重新运行脚本. WScript.Quit End If End If objConnection.Close End Sub Sub subQueryForComp On Er

23、ror Resume Next WScript.Echo 获得计算机名. Set args = WScript.Arguments If args.Count = 1 Then strComputerName = WScript.Arguments(0) WScript.StdOut.WriteLine strComputerName & 新计算机名 WScript.Echo strComputerName Else WScript.StdErr.WriteLine 获得计算机名失败 WScript.Quit End If WScript.Echo 获得计算机名是: & strComputer

24、Name If Len(strComputerName) 13 Then subInvalidArg End If ePos = InStr(strComputerName, -) If ePos 4 Then subInvalidArg End If Const ADS_SCOPE_SUBTREE = 2 Set objConnection = CreateObject(ADODB.Connection) Set objCommand = CreateObject(ADODB.Command) objConnection.Provider = ADsDSOObject objConnecti

25、on.Properties(User ID) = strUser objConnection.Properties(Password) = strPassword objConnection.Open Active Directory Provider Set objCommand.ActiveConnection = objConnection objCommand.CommandText = SELECT * FROM LDAP:/ & strDomain & WHERE CN=& strComputerName & WScript.Echo objCommand.CommandText

26、Set objRecordSet = objCommand.Execute WScript.Echo objRecordset.RecordCount If objRecordSet.EOF Then WScript.Echo 计算机 & strComputerName & & 可以使用 Else WScript.Echo 计算机 & strComputerName & & 已经存在, 不能再次创建. & VbCrLf &_ 请联系 IT 服务热线寻求帮助. WScript.Quit End If objConnection.Close End Sub 1-Join computer to d

27、omain,rename computer,add user to local administrators group Sub subJoin On Error Resume Next WScript.Echo 正在加域, 请等待. & VbCrLf &_ - WScript.StdOut.Write 請輸入新的ComputerName.例如:ICC-TSB-01 strComputerName = WScript.StdIn.ReadLine Set objWMIComputer = GetObject(winmgmts:impersonationLevel=Impersonate! &

28、strHostName & rootcimv2:Win32_ComputerSystem.Name= & strHostName & ) If Err.Number = 0 Then varJoinReturnValue = objWMIComputer.JoinDomainOrWorkGroup(strDomain, strPassword, strUser, , JOIN_DOMAIN + ACCT_CREATE) If Err.Number = 0 Then If varJoinReturnValue = 2224 Then subDisplay The computer account

29、 already exists, it will stay in its current OU. varJoinReturnValue = objWMIComputer.JoinDomainOrWorkGroup(strDomain, strPassword, strUser, , JOIN_DOMAIN) End If If varJoinReturnValue = 0 Then subDisplay Success: Computer has joined to domain. Wscript.sleep(5000) subRename subAddDUsertoLAdmin Else s

30、ubDisplay fncErrorMessage(varJoinReturnValue, , True) End If Else subDisplay fncErrorMessage(Hex(Err.Number), Err.Description, True) End If Else subDisplay fncErrorMessage(Hex(Err.Number), Err.Description, True) End If End Sub Add domain user to local administrators group Sub subAddDUsertoLAdmin On

31、Error Resume Next Set objGroup = GetObject(WinNT:/ & strHostName & / & strLocalGroup) Set objDSO = GetObject(WinNT:) Set objUser = objDSO.OpenDSObject(WinNT:/ & strDomain & / & strUserName,_ strUser, strPassword, ADS_SECURE_AUTHENTICATION Or ADS_USE_ENCRYPTION) varAddGroupValue = objGroup.Add(objUse

32、r.ADsPath) If varAddGroupValue =0 Then subDisplay Success: Added & strUserName & to & strLocalGroup Else subDisplay fncErrorMessage(varAddGroupValue, Add domain user to local administrator group, True) End If Set objGroup = Nothing End Sub 2-Rename computer and computer account in domain Sub subRena

33、me On Error Resume Next Set objWMIService = GetObject(winmgmts:impersonationLevel=impersonate! & strHostName & rootcimv2) Set colComputers = objWMIService.ExecQuery(Select * from Win32_ComputerSystem) If Err.Number = 0 Then For Each objComputer In colComputers varRenameReturnValue= objComputer.Renam

34、e(strComputerName, strPassword, strUser) If varRenameReturnValue =0 Then subDisplay Success: Computer has renamed to & strComputerName Else subDisplay fncErrorMessage(varRenameReturnValue, , True) End If Next Else subDisplay fncErrorMessage(Hex(Err.Number), Err.Description, True) End If End Sub 3-Re

35、move computer from domain Sub subRemove 提醒用户记录计算机名称 WScript.Echo 请记录当前计算机名称: & strHostName NETDOM REMOVE machine /Domain:domain /OU:ou path /UserD:user /PasswordD:password | * NetdomRemove = NETDOM REMOVE & strHostName & /Domain: & strDomain & /UserD: &strUser & /PasswordD: &strPassword Dim WshShell

36、, WshExec Set WshShell = CreateObject(WScript.Shell) Set WshExec = WshShell.Exec(NetdomRemove) varNetdomRemove = ( WshExec.StdOut.ReadAll ) If InStr(1, LCase(VarNetdomRemove), LCase(The command completed successfully.) 0 Then subDisplay Success: Computer has removed from domain Else subDisplay fncEr

37、rorMessage(, varNetdomRemove, True) End If End Sub Sub subInvalidArg WScript.Echo 输入无效, 请重新运行脚本! WScript.Quit End Sub Sub subDisplay(strOutput) If InStr(1, WScript.FullName, cscript.exe, vbTextCompare) 0 Then WScript.Echo strOutput & vbCrLf End If End Sub Function fncErrorMessage(varErrorNumber, str

38、ErrorDescription, flgSetExitErrorLevel) If strErrorDescription = Then List of system error codes and network management error codes Select Case varErrorNumber Case 5 strErrorDescription = Access is denied Case 87 strErrorDescription = The parameter is incorrect Case 110 strErrorDescription = The sys

39、tem cannot open the specified object Case 1323 strErrorDescription = Unable to update the password Case 1326 strErrorDescription = Logon failure: unknown username or bad password Case 1355 strErrorDescription = The specified domain either does not exist or could not be contacted Case 2224 strErrorDe

40、scription = The account already exists Case 2691 strErrorDescription = The machine is already joined to the domain Case 2692 strErrorDescription = The machine is not currently joined to a domain End Select End If fncErrorMessage = Error: & varErrorNumber & . & strErrorDescription & . If flgSetExitErrorLevel Then varExitErrorLevel = 1 End Function

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号