我试图创build一个Windows 2012 sysprepped映像,我可以从脚本启动,创build自动化testing环境,并发现自己有点困惑。
我的理解是,我可以用这个语法sysprep框:
C:\>sysprep /generalize /oobe /shutdown /unattend:A:\unattend.xml
然后,通过修改相应的unattend.xml并将其存储在安装为驱动器A:的FAT12映像中,服务器将在首次引导期间使用这些修改的设置来设置pipe理员密码等。
事情似乎并不奏效…我怀疑我可能已经完全倒退了。
sysprep的/ unattend参数告诉sysprep' 嘿,这是你应该在第一次启动时读取你的设置的地方 ',还是说' 嗨,这里有一些设置你应该烧入你的sysprepped状态,然后下次使用它们你开机 ?
换句话说,我可以在运行sysprep之后修改unattend.xml,但在第一次启动系统之前? 如果是这样,我可以从单独的设备(虚拟软盘驱动器)读取修改后的unattend.xml,还是需要查找和修改存储在sysprepped虚拟机映像中的内容?
首先,如果你运行了这个sysprep命令,那么你指定的无人参与文件已经被caching了,以便在第一次启动时使用。 更改A:驱动器上的文件在这一点上没有任何区别。
当您运行Sysprep(您指定/ generalize开关)时使用Generalize通道。 当时唯一可能运行的其他通行证是AuditSystem和AuditUser通行证,如果您使用/审计开关。 但是,最终的Sysprep运行中不使用/ audit开关,而是启动到审计模式以进行自定义。
其余的通行证在第一次启动时使用。 有关更多详细信息,请参阅TechNet文章“ 如何通过configuration ”。
在首次启动时使用不同的文件可能会更具挑战性,因为Sysprep在运行时caching了这些文件。 TechNet文章“ 运行Windows安装程序的方法”对 “显式指定答案文件”和“隐式search答案文件”之间的区别有很好的描述。 在隐式答案文件search顺序表中,它显示了一个registry项,可以用来强制安装程序在第一次启动时查找另一个答案文件,但是必须使用DISM(已replaceImageX)装载映像并将其离线更改。
您可能需要考虑使用Microsoft部署工具包 (MDT)进行部署。 这是一个基于任务的部署解决scheme,为您创build和使用答案文件。 您可以使用系统准备好的映像,并使用您在任务序列中指定的设置进行部署。 多个任务序列可以使用相同的基础图像。 还有其他一些好处,例如pipe理设备驱动程序和安装软件。 MDT可以自动执行手动执行的许多stream程。 它是免费的。
这是一个很棒的video,向您展示MDT的强大和简单性:
部署日会议1:MDT 2012简介
希望这可以帮助,