呐 各位大牛牛牛牛,事情是这样子的,因为每天我的工作呢,就是要给新机都要安装相同的软件包,创建宽带连接,关闭UAC,卸载预装杀毒软件,俗话说不想做好售后的程序员不是一个好攻城狮的那么问题来了,如何用脚本处理呢?
总结一下需求哈:
1.关闭UAC
2.安装软件
3.创建宽带连接
4.卸载预装杀毒软件
第一条现在都是调用windows\system32里面的UserAccountControlSettings.exe 然后手动关闭=。=,网上没找到UAC的参数,所以每次都要手动关闭
第二条呢,直接安装顺序执行,静默安装
WPS.exe /S
xxx.exe /S
如此类推
第三条到现在还是一步一步手动创建实在找不到手册,MSDN那么大,也没找到相应的手册。
第四条也是手动卸载的 没找到方法。
额 说说目前没做到的吧,就两个,也是最主要的两个。
第一个是关闭UAC,因为有个版本问题,Win7版本的是Ghost版本 默认就关闭了,所以不用调用UserAccountControlSettings.exe,而Win8需要手动关闭,所以打算用bat里面的if语句调用ver命令判断版本号,win7是 7600 或者7601 win8是7900,该怎么写额
第二个就是创建宽带连接,之前在网上找到过一个VBS脚本是用VBS写的,但是图标不对,代码现在也找不到了,记得里面是调用xxx.dll之类创建的,求大牛指点
至于最后卸载默认杀毒软件这一块,调用程序里的参数应该也可以吧?因为店里90%的机器预装的都是迈克菲,也不知道怎么查看参数,如果太麻烦就算了吧。
零零散散的写了那么多,也不太会用Markdown排版,求各位大牛指教,3Q~~~
1
likaci 2015-04-25 15:34:16 +08:00 1
配置一样的话,GHOST最快。
|
2
jamesarch OP @likaci 额 考虑过,但是呢 配置都不一样,但是!!!机器型号都不一样,而且90%都是预装win8,极少一部分是没有系统的
|
3
oott123 2015-04-25 16:01:17 +08:00 1
我记得创建宽带连接是有一个连接本文件,具体是什么忘记了……
卸载应该是找 uninst.exe 之类的文件…… 其实你可以试试按键精灵的…… |
4
zkd8907 2015-04-25 16:02:31 +08:00 1
我们公司内部是搞了个Windows域,所有安全策略都是通过服务器直接下发。只要把机器入域以后就不需要再处理了。
|
5
jamesarch OP |
6
oott123 2015-04-25 16:26:43 +08:00
@jamesarch 按键精灵找图找色,或者抓窗口遍历控件取 Text 再发消息什么的……
普通窗口做起来应该挺容易的还。 至于卸载 Mcafee,我找到了这个: http://us.mcafee.com/apps/supporttools/mcpr/mcpr.asp (via: https://service.mcafee.com/FAQDocument.aspx?id=TS101331 ),可以试试看。 |
7
likaci 2015-04-25 16:27:05 +08:00 1
如果一开始系统就是lz装的,建议直接备份配置好的镜像。然后还原就行了,现在基本上除了硬盘模式会导致蓝屏,其他驱动装一下就好了。
---- 如果是别人装好的系统,或者不想重新装系统。 1.UAC 注册表可以关 3.如三楼所说 是在 c:\ProgramData\Microsoft\Network\Connections\Pbk\rasphone.pbk 纯文本里 直接追加文本, 然后用 rasphone.exe -d 连接名 去执行就可以 ---- 学下AHK不错,写个单文件exe很简单。AAuto听说也不错,具体没试过 我是学AHK入的坑我会到处说嘛 |
8
oott123 2015-04-25 16:29:33 +08:00 1
宽带连接我找到了这个 https://support.microsoft.com/en-us/kb/169115/zh-cn
虽然文章有点老,但关键的文件 %SystemRoot%\System32\Ras\Phonebook.pbk 应该没变……不过我也不太确定,思路你可以参考下。 |
9
shierji 2015-04-25 17:06:51 +08:00 1
你需要网络部署。。。。
sysprep 然后搭一台Windows服务器。搞Windows部署服务。 |
10
jamesarch OP |
11
wbbim 2015-04-25 17:39:44 +08:00 via iPhone 1
到IT天空學習下怎麼封裝windows鏡像
|
12
jamesarch OP |
13
hx1997 2015-04-25 17:58:46 +08:00 via Android
UAC 可以注册表关,但是脚本需要用管理员权限运行。
|
14
crab 2015-04-25 18:07:26 +08:00
创建拨号链接 RasSetEntryPropertiesA
|
15
shierji 2015-04-25 18:16:08 +08:00
先搞定一台电脑然后以这台电脑为蓝本。用sysprep生成一个镜像。。。然后通过Windows部署服务把其他的都重装一次
|
17
xierch 2015-04-25 20:15:45 +08:00
宽带连接那个,其实就是一个文本文件
有两个,一个是系统的,所有用户共享 一个是当前用户的 建好然后复制过去就好了 |
18
g00001 2015-04-26 00:32:03 +08:00 1
AAUTO创建宽带连接的代码
在IDE中输入 inet.ras.setEntry 可以自动完成下面的代码。 ========================= import inet.ras inet.ras.setEntry( type = 5/*_RASET_Broadband*/; fOptions = 0x10/*_RASEO_RemoteDefaultGateway*/ | 0x1000000/*_RASEO_PreviewUserPw*/ | 0x4000000/*_RASEO_ShowDialingProgress*/ | 0x100/*_RASEO_ModemLights*/ | 0x100/*_RASEO2_ReconnectIfDropped*/ ; fOptions2 = 0x2000000/*_RASEO2_CacheCredentials*/ | 4/*_RASEO2_DontNegotiateMultilink*/; deviceType = "PPPoE"; deviceName = "WAN 微型端口 (PPPOE)"; entryName = "ADSL宽带连接" ) 其他的,打开useraccountcontrolsettings.exe ========================= import process process.execute("useraccountcontrolsettings.exe") 安装 ========================= import process process.execute("/exe目录/WPS.exe", "/S") 卸载 ========================= import win.reg; import process; var reg = win.reg( "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\需要卸载的软件ID" ); var uninstallString = reg.queryValue("UninstallString") process.execute(uninstallString) |
19
jamesarch OP @g00001 3Q 代码都贴出来了 ,不过还是有两点疑问,第一个就是输入完宽带连接的代码之后为什么点运行没有翻译,只是宽带连接代码
第二个就是卸载软件的ID到哪去找 在哪里获取 |
20
jamesarch OP @xierch 宽带连接的快捷方式复制我刚才试过,无效 好像对应一个随机ID,还有就是网络连接里面的宽带连接怎么复制…………
|
21
g00001 2015-04-26 11:57:39 +08:00 1
@jamesarch “没有翻译”?你是说没有编译?
如果是生成EXE文件,需要新建一个工程,然后在 main.aau 里写源码,然后按“发布 [F7] ”生成EXE文件就行了。 关于第二个问题卸载软件的ID: 实际上一般软件安装以后,会把自己的卸载参数写在注册表里,一个是HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\下面,一个可能是 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 也就是在 [控制面板/安装卸载] 这里面看到的可卸载程序,所以可以在注册表里查到,可以用AAuto代码获取所有可卸载程序: import console; import win.reg; var reg = win.reg("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\") for(softId,writetime in reg.eachKey() ){ var softReg = reg.openReg(softId); console.log(softId, ( softReg.queryValue("UninstallString") ) ) } var reg = win.reg("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\") for(softId,writetime in reg.eachKey() ){ var softReg = reg.openReg(softId); console.log(softId, ( softReg.queryValue("UninstallString") ) ) } console.pause(true); |
22
g00001 2015-04-26 12:23:24 +08:00
AAuto代码,在注册表中直接关闭UAC( EXE本身需要管理员权限运行)
import win.reg; var regUac = win.reg("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System") regUac.setDwValue("ConsentPromptBehaviorAdmin",0) regUac.setDwValue("PromptOnSecureDesktop",0) regUac.setDwValue("EnableLUA",0) regUac.close() |