对Win10进行Sysprep封装详解

微软的操作系统很早就开始使用安全标识符(SID)对计算机和用户进行识别,如果你是域管理员,应该知道:分配给计算机账号的叫Machine SID,分配给用户账户的是用户账户SID。处于工作组计算机的SID是由算法生成的,除特殊账户外,其它用户的SID也是由算法生成的;而域中各对象的SID是由域范围的SID和具有唯一性的相对标识符(RID)连接组成,RID是在创建安全主体时由域中的RID Master分配的。RID Master的作用是:分配可用RID池给域内的DC以及防止对象的SID重复。

为什么要进行Sysprep

当你从一台主机克隆出多个PC,或者使用同一虚拟机母板克隆出多台VM之后,其SID势必会相同,在加入域时会造成安全主体的识别混乱和加域失败等。对于同一局域网中,存在相同SID的计算机或账户也可能会导致很多奇怪的问题,特别是权限和安全方面的问题。以上原理说清楚之后,大家便知道为什么要进行Windows 10 Sysprep操作了。

不可回避的是,也有很多IT 管理员采用了各种克隆技术来快速批量部署数十、数百甚至上千台的PC 或服务器,这种以映像方式将Windows操作系统、应用程序和软件配置进行批量分发的场景已经非常常见。那么SID是否重复就显得尤为重要,如果不确定你的Windows 10客户端是否有SID相同的情况,可以使用Sysinternals系列中所介绍的psgetsid工具进行查看。在sysinternals套件中提供了一个newsid小工具也可以实现清除SID的功能,但由于各种原因目前该工具已被取消,其作者mark也在其博客文章中进行了详细解释。因此,现在Sysprep已是被微软所支持用于解决SID重复问题的唯一工具。

如何使用Windows 10 Sysprep

要在Windwos 10中执行Sysprep操作非常简单,只需浏览到C:\Windows\System32\sysprep目录执行sysprep.exe文件即可。

在弹出的「系统准备工具」窗口中,我们通常会选择「OOBE」和「通用」选项,其中的OOBE是指系统下次启动之后重新进入配置界面(与全新安装Windows 10之后的操作几乎一样),选择「关机」是为方便管理员将该系统制作成虚拟机母板或要分发的映像母板。

如果你喜欢使用命令行,Sysprep也支持命令行操作,可通过如下命令实现上述图形界面的功能:

Sysprep /generalize /shutdown /oobe

为方便管理员制作虚拟机模板,Windwos 10中的sysprep还支持VM模式,该模式可以方便地帮助管理员制作VHD(X)进行快速部署。VM模式只支持在虚拟机中使用,而且只能通过命令行来操作:

Sysprep /generalize /oobe /mode:vm

一旦Sysprep开始执行操作,Windows 10将在相关工作处理完成后按管理员的选择进行关机或重启。

操作执行完成后,我们就可以使用映像抓取工具进行捕获后部署或将VHD/VMDK用于全新的虚拟机当中。所有进行过Sysprep操作的Windows 10由于剔除了安全标识符等操作系统主体信息,在下次启动时会重新进入OOBE阶段。

作者: Hugh

Welcome to Wan's world~