全自动加域

许多实用脚本和封装函数, 可以让您编写脚本更加便捷高效

Moderators: tmplinshi, arcticir

engineX
Posts: 3
Joined: 05 Oct 2014, 00:34

全自动加域

17 Oct 2014, 04:10

小弟学习AHK有半个月了,对其有了基本了解,结合自己工作需要,编写了一个全自动加域的脚本,经过初步测试,还算理想,现分享出来,欢迎大家交流讨论

脚本名:全自动加域beta(简/繁)
适用系统:win7
主要功能:1.全自动加域(模拟键鼠操作实现)
2.开启并设置本地administrator账户及密码(调用系统net user命令实现)
3.开启网卡802.1x认证(调用系统netsh命令实现)


软件界面:
1.JPG
界面
1.JPG (22.07 KiB) Viewed 7286 times
繁体版代码如下:

Code: Select all

;*****************************************************
;                    窗體UI代碼
;*****************************************************
Gui, Font, S8 CDefault Bold Underline, Verdana
Gui, Font, S10 CDefault, 新細明體
Gui, Font, ,
Gui, Font, S10 Cdefault, 微軟正黑體
Gui, Font, S12 Cdefault, 微軟正黑體
Gui, Add, Text, x32 y20 w80 h20 , 域用戶名
Gui, Add, Text, x32 y60 w80 h20 , 公司網域
Gui, Add, Text, x32 y100 w80 h20 , 管理員帳戶
Gui, Add, Text, x32 y140 w80 h20 , 管理員密碼
Gui, Add, Edit, x122 y20 w160 h30 vUserName
Gui, Add, Edit, x122 y60 w160 h30 vDomain
Gui, Add, Edit, x122 y100 w160 h30 vAdministrator
Gui, Add, Edit, x122 y140 w160 h30 +Password vAdminpassword
Gui, Add, Button, x32 y180 w90 h30 , 確定
Gui, Add, Button, x192 y180 w90 h30 , 取消
; Generated using SmartGUI Creator 4.0
Gui, Show, x749 y428 h228 w317, 全自動加域beta(繁)
Return

Button取消:
GuiClose:
ExitApp
Button確定:
Gui,Submit
;------------------------------------------------------
;开启并设定本地管理员帐户、密码
Run, %ComSpec% /c net user administrator #*c12345 /active:yes
;------------------------------------------------------
;设置去掉下划线后的用户名为主机名
FullName = %UserName%
StringReplace, FirstName, FullName, _, , All

;******************************************************
;                      全自动加域代码
;******************************************************
;1.系統內容-更改
#Persistent
DetectHiddenText, On
SetTitleMatchMode, 2
run SYSDM.CPL
WinWait, 系統內容
ControlSend,,!c,系統內容
Sleep, 1000
WinWait, 電腦名稱/網域變更
ControlSetText, Edit1, %FirstName%-PC, 電腦名稱/網域變更
Control, Check, ,Button3, 電腦名稱/網域變更
ControlSetText, Edit3, %Domain%, 電腦名稱/網域變更
SendInput {Enter}
;2.输入管理员账户、密码
WinWait, Windows 安全
ControlSetText, Edit1, %Administrator%, Windows 安全性
ControlSetText, Edit2, %Adminpassword%, Windows 安全性
SendInput {Enter}
;3.第一次弹出确认框
WinWait, 電腦名稱/網域變更, 歡迎加入
SendInput {Enter}
Sleep, 1000

;*****************************************************
;         将域用户加入本地Administrators组
;*****************************************************
;Run, lusrmgr.msc
;WinWaitActive, lusrmgr - [本機使用者和群組 (本機)]
;SendInput,{Down}{Down}
;Sleep, 800
;SendInput,{Tab}{enter}
;sleep 800
;ControlSend, , !d, Administrators - 內容
;Sleep, 1000
;ControlSetText, Edit1, %Administrator%, Windows 安全性
;ControlSetText, Edit2, %Adminpassword%, Windows 安全性
;SendInput,{enter}
;Sleep, 1000
;SendInput,%UserName%
;Sleep, 500
;SendInput,{enter}
;WinActivate, Administrators - 內容
;ControlSend, Button3, {enter}, Administrators - 內容
;Sleep, 500
;ControlSend, Button3, {enter}, Administrators - 內容
;Sleep, 3000

;***************************************************
;               开启网卡802.1x认证
;***************************************************
FileInstall, c:\Program Files\802.1x.xml, %A_ProgramFiles%\1.xml, 1
Run, %ComSpec% /c netsh lan add profile filename="%A_ProgramFiles%\1.xml" interface="區域連線"
Run, %ComSpec% /c netsh lan add profile filename="%A_ProgramFiles%\1.xml" interface="區域連線 2"
Sleep, 2500

;**************************************************
;4.继续加域操作(激活第二次弹出的确认框)
WinActivate, 電腦名稱/網域變更
SendInput {Enter}
WinActivate, 系統內容
ControlSend, Button3, {Enter}, 系統內容
WinWait, Microsoft Windows
SendInput r
return
使用说明:
1.请先关闭本地win7 UAC
2.确保已连线至网域
3.如需使用网卡802.1x认证,请确保services.msc--Wired AutoConfig已开启
4.默认输入法尽量设为EN(发现搜狗会乱弹)
5.脚本默认设置本地administrator密码为#*c12345

已知bug/不足
1.若输入的用户名(e.g. jack_cheng)过长,会在设置PC名时报错,即超过了15字符限制。这个后续待改进
2.未对services.msc--Wired AutoConfig服务做判断,需用户自行开启
3.脚本中注释掉的一段代码,原本是想实现域用户加入本地管理员组,但测试中发现不太稳定,容易fail;尝试加完域重启前,cmd命令net localgroup也无法实现,希望高人指点

还要感谢群里各位大神 hack520、AHK 、没什么大不了 、星雨朝霞 、sunwind(hitman) 、萝卜L等的悉心帮助与指导!

代码及程序下载如附件,欢迎大家吐槽 :lol:
全自动加域beta(简).rar
全自動加域beta(简)
(331.47 KiB) Downloaded 420 times
全自動加域beta(繁).rar
全自動加域beta(繁)
(331.57 KiB) Downloaded 346 times
beelzebubboy
Posts: 1
Joined: 04 Jan 2016, 21:18

Re: 全自动加域

04 Jan 2016, 21:27

我這邊 是直接把固定的拿掉
Gui, Add, Text, x32 y60 w80 h20 , 公司網域
Gui, Add, Text, x32 y100 w80 h20 , 管理員帳戶
Gui, Add, Text, x32 y140 w80 h20 , 管理員密碼
目前嘗試 加入電腦描述和
Administrators 加入使用者帳號

Return to “脚本函数”

Who is online

Users browsing this forum: No registered users and 34 guests