无人值守自动部署 Windows Server 2003 和 2008

无人值守自动部署 Windows Server 2003 和 2008

我们目前正在使用 PXE 启动来自动安装和重新安装我们的专用服务器。这对于所有基于 Linux 的系统(如 Debian、CentOS、VMware 和 Ubuntu)与 kickstart/preseed 结合使用效果很好。

但是,对于 Windows 来说,这似乎是不可能的。您需要将 WDS/MDT 与 Active Directory 一起使用,而我根本不希望为此更改整个部署系统。

因此,我们正在寻找 WDS/MDT 的替代方案,它允许我们以自动方式部署定制的 Windows Server 2003/2008 服务器,并在单独的文件中设置 IP 地址/密码/许可证密钥等设置,这样我们就不必为每个服务器创建一个映像。

我们有一个基于 Linux 的部署系统,它完全融入我们的后端/控制面板等。因此,我正在寻找一个可以在 Linux 上运行的部署解决方案。

我发现的指南建议使用 PXE 启动 WinPE,然后使用 Windows Server 的 EXE 安装程序。这是建议的方法吗,还是有更好的方法来实现它?

答案1

概述

您可以使用 pxelinux 或任何其他 PXE 启动技术分发 WinPE 映像。这将为您提供一个可编写脚本的命令提示符,能够启动无人值守的安装。

您可以使用 WAIK 创建一个 unattend.xml 文件,该文件在安装过程中被调用,您可以在其中创建自己的构建脚本以满足您的任何需求。无人值守文件可以在安装后阶段调用批处理或 powershell 脚本以及任何其他应用程序进行自定义。

我非常怀疑是否有任何商业产品可以做到这一点。如果您想要将 Windows 映像环境与 Linux 映像环境集成,您将不得不自己手动完成很多工作。好消息是,执行此操作的工具(WAIK、DISM、WinPE 等)都是免费提供的。


设计基础

您需要创建一个 SMB 共享,其中包含要部署的 Windows 操作系统安装文件的副本。您可以使用 DISM 修改这些文件(合并补丁、Windows 模块等)。

一旦你有了它,你就会想要通过你使用的任何 PXE 解决方案部署 WinPE。你可以在 WinPE 中编辑 startnet.cmd 以包含你想要的任何自定义命令。当 WinPE 加载时,会执行此 cmd 文件。这将允许你自动安装。至少,你将映射 SMB 共享与源文件

net use \\server\share

并调用

\\server\share\setup /unattend:\\server\share\unattend.xml

这将以无人值守模式运行安装程序,前提是您已正确配置无人值守文件。technet 上有许多关于如何执行此操作的示例。

在无人值守文件的 OOBE 阶段,您可以配置自动登录并调用所需的任何构建脚本。Slmgr.vbs可以更改产品密钥并激活,您可以调用netsh来设置 IP 信息,并且直接在 unattend.xml 中,您可以指定本地用户和组的创建。

这为您提供了一个完全可自定义的安装环境,可以从任何 TFTP 服务器进行 PXE 启动。如果您以前从未这样做过,那么需要进行大量的尝试和错误,但绝对可以做到。

答案2

在这种情况下,我所做的是构建一个主映像,其中设置了一个脚本,当新映像的机器首次启动时运行。该脚本足够智能,可以通过 DHCP 获取临时 IP,然后联系配置服务器,在那里获取另一个脚本来运行。第二个脚本执行诸如激活窗口、配置网络等操作。

这样做的好处是,无需费力尝试自动安装。我们通过 Clonezilla 推出映像,映像中已经安装了我们所有的应用软件(这几乎不可能自动完成)。

相关内容