电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 3404 人浏览分享

【转帖】《步步为营封 Win7》进阶部署控制

[复制链接]
3404 3

使用和拓展系统封装部署技术的目的有二:1 Y0 y; Y; H/ h& b4 Q9 s) e/ }1 r
1、在尽可能保证稳定的基础上加快系统安装速度,减少重复的机械化的无意义劳动,提高工作效率;4 I' a9 B- _7 |3 |
2、降低技术门槛,让需要多步骤执行的过程简化为按几个按钮就能完成的事情。" `; h0 U0 c% G/ S: B& ?- T+ m$ b; |1 d

+ t; p- r" p7 w9 y如果是为了这两个目的考虑,那么我们在学会了基本的部署阶段控制的基础上,就要拓展一些内容了。在上一章里我说过,一般的WIN7封装与部署有两个缺点:
% O' c9 a. {- a1、使用非ADMIN登陆不符合中国用户的习惯;+ u2 W8 X2 ?& `1 l0 Z& F
2、繁琐的OOBE过程有效的降低了我们的工作效率,增加了不必要的负担。
& ~7 [! j0 c; ~0 A, p
, r2 D2 b( L, |* E* h. ^. l那么本章的目的就明确了:9 r/ J2 G4 r$ }' q
1、想办法自动激活ADMIN账户;
7 {$ a) O) p- ^0 }" c3 [2、跳过OOBE过程;1 B+ r) T. e8 ~9 d8 z# ]  s
3、接管部署过程以实现1和2。

 

 


评论 3

电脑疯子 电脑疯子  管理员  发表于 2010-5-5 05:47:42 | 显示全部楼层

(一)自动激活 ADMIN

(一)自动激活 ADMIN( z. Z% j# |( U& t$ B
7 b' G& c$ A+ g5 W/ e$ k
WIN7的ADMIN账户默认是禁用的,我们可以在封装前将其设置为启用,而后方便我们的自动化封装工作。
# `$ E" ]; w6 Z& x8 \
- {. k- ~; ?. a4 }4 A但烦人的问题也随即出现了,ADMIN账户在封装后又会自动改为禁用。本想大不了在封装后再手工开启呗,结果发现部署完成后ADMIN账户又自动禁用了(无语……)。好吧,看来微软是无论如何也要禁用ADMIN了,那么这个问题就由我们来解决吧。
5 f: t; w1 H" W# W
7 A& ^8 T8 S9 F3 q  ~# X4 I1、激活 ADMIN 账户的方法+ C5 M/ M% Z) d/ z; q+ [1 S0 `
' Q5 ]( C1 R' }/ P4 Y) J  U
这个并不复杂,其实只需要一行批处理命令就可以了:

  1. net user Administrator /Active:yes
复制代码

 

 

这个命令是WIN7自带的,不是第三方的,所以稳定性和适用性无需担心。
1 B0 y( w- o7 o2 J) b$ K8 Z! w5 C/ Z$ d8 }: ]$ ]. t* y
AU3的写法是:

  1. RunWait(@ComSpec & " /c " & "net user Administrator /Active:yes", "", @SW_HIDE)</P> <P> </P> <P>
复制代码

 

大家可以参照

 

2、激活 ADMIN 的时机" ~% N; U1 O; q' R

& ]7 J7 _  x  V; |3 |系统部署到进入桌面的过程大致为:
3 Z) Z1 l0 b# h( N% Z3 s
" ^% }, b9 n- B! i1 p系统部署-->重启-->系统OOBE-->首次登录-->桌面
* a) `  u( l( i+ g& e4 ~
3 [/ A! ~/ `8 A5 |在“系统部署”这个步骤完成后系统会自动禁用ADMIN账户,而我们如果跳过了OOBE过程,就直接到了“首次登录”这个步骤。但这样就造成了问题,即ADMIN没有被激活,跳过OOBE后又没有新账户可以用(除非封装前残留了其他账户),这样就造成了系统内无可用用户!这个后果就严重了,没有用户可用,也无法创建新用户,那么这个系统就无法被登录和使用,则这个系统就成了名副其实的废物……
  e; q" ^% b, x+ {1 r- n: V* H  S1 p+ f4 j$ E
我们通过SIM设定后,系统部署中、首次登录、桌面我们都有可用接口,但自动禁用ADMIN是在部署后执行的,而由于我们跳过了系统OOBE过程,则我们又必须在首次登录前就激活ADMIN,所以系统部署中、首次登录、桌面三个接口我们都无法使用。我们需要这样一个时机,即在系统部署完成后(即windeploy.exe运行完毕后,随后详解)ADMIN被禁用后,执行ADMIN的激活,才能达到我们需要的目的。- ]+ S+ G) e- e7 w
; E' W8 g7 W' P9 D3 ?
这样我们就需要更强大的部署过程控制能力,以实现部署后这个程序调用接口(当然,顺道我们也可以实现部署前程序调用接口)。至于详细怎么做,本章第“(三)”部分会详细说明


电脑疯子 电脑疯子  管理员  发表于 2010-5-5 05:49:03 | 显示全部楼层

(二)跳过OOBE过程

这个的实现相对简单,回想上一章我们使用SIM设定OOBE功能模块的时候,OOBE部分有一个属性叫做“SkipMachineOOBE”。
+ J) ^9 G7 b- t2 Z0 _, B
8 V) W1 n. Z  ?6 G; p. A3 J: X根据说明上说,SkipMachineOOBE是在WIN7测试时才使用的一个参数,在一般的系统安装中是被废弃的属性。但实践证明,在系统部署过程中这个选项可以有效的跳过OOBE过程。实践出真知,无论它本来的设计意图是什么,只要能够实现我们的目的,就是好功能,没有必要过于拘泥于理论。
& i- T, X$ ?1 ~( G5 {" x. s4 s) `+ _. X( R7 w* u8 N2 z; k
在SIM中我们将OOBE模块的SkipMachineOOBE设置为“true”
% l' `3 q7 R' P9 A/ D6 u. Y- w8 y
1.png
! F, W& U* R7 {; Y
4 R+ B+ H6 s, }0 f" bSkipMachineOOBE一旦被设置为“true”,OOBE过程就会被跳过,则OOBE部分的其他设定就没有太多意义了,所以我取消OOBE的其他设定。- O3 v7 r% W/ ^. f) Y
0 T% Z: @2 ]1 n! {0 M* I
保存,系统封装时使用这个xml配置文件,就会跳过系统OOBE过程。
7 j, y& z/ K1 h5 c* v* {& E& |9 w) c( K4 g
需要注意的是,如果没有自动激活ADMIN且封装前系统内没有余留其他用户,则不要使用此功能。原因在“(一)”中我已经说明。

电脑疯子 电脑疯子  管理员  发表于 2010-5-5 05:52:12 | 显示全部楼层

(三)接管部署

系统封装与部署主要就是执行了两个程序:9 Z; }7 j' M( ]& ~# p0 ]# }
游客,如果您要查看本帖隐藏内容请回复


- q+ ]+ `4 S) x5 o, ^  R
% M2 b+ k8 R: \" L到这里,我们就用最原始的批处理完成了对WIN7部署过程的接管。如果您讨厌批处理的黑框,可以尝试用AU3等写一个类似的程序。% O! W& P) E; ?/ w7 G1 @5 A5 d

# o5 x6 {# d5 O& A0 y+ y# s有的朋友可能要问了,那部署前接口怎么实现?这个简单,只要是运行于“start /wait %windir%\system32\oobe\windeploy.exe”之前的不就是部署前调用吗?以后我们可以很方便的在windeploy.exe运行前执行例如驱动解压等过程,就像现在XP部署过程一样。" g% C- Z& |2 O. O7 H, {3 |

' J3 ^/ R- n/ f8 z. I; m最基本和最核心的方法我已经带给了大家,大家想开出什么花,由大家自己发挥吧!

 

 

 

到这里,我们实现了自动激活ADMIN、自动跳过OOBE,有效的加快了系统部署过程,减少了不必要的操作。本章中,我们还学习了如何接管部署过程,以及部署前和部署后接口的实现方法。本章虽然比较短,但内容比较多,请大家认真阅读,多加实践。


您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

关注

28

粉丝

1133

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.