我的组织目前拥有 Windows XP(是的,我知道官方对它的支持将在不到 24 小时内停止)和使用 Symantec Ghost 11 制作的 Windows 7 系统映像,我们经常将它们部署到机器上。部署后的必需步骤是运行 NewSID 以将新 SID 应用于系统。显然,更好的方法是首先使用 sysprep 来制作映像。
我一直在阅读有关 Windows XP 和 7 的 sysprep 的信息,我发现如果您使用“/generalize”命令行选项,则会在某个时候创建一个新的 SID。我想确认的是:新的 SID 是否应用于系统后部署,即如果我在 10 台机器上部署并启动映像,它们将获得 10 个不同的 SID?此外,对于 Windows XP 和 Windows 7 都是如此吗?
最后,我还读到(但不能完全理解)有“不同”种类的 SID。那么通过 NewSID 应用的新 SID 是否与通过 sysprep 应用的新 SID 相同?
提前感谢您的回答。
答案1
/generalize 准备要进行映像处理的 Windows 安装。如果指定此选项,则会从 Windows 安装中删除所有唯一系统信息。安全 ID (SID) 将重置,所有系统还原点都将被清除,并且事件日志将被删除。
计算机下次启动时,将运行 specialize 配置阶段。将创建一个新的安全 ID (SID),并且将重置 Windows 激活时钟(如果时钟尚未重置三次)。
这意味着下次重启时(部署后!)您的 SID 将重置。您的机器将获得 10 个不同的 SID,是的。
SID 有多种类型。用户有 SID,计算机有 SID,有本地 SID,有域 SID,还有“特殊”SID,但您所说的 SID(MachineSID)与 sysprep 中的 NewSID(Machine SID)相同
答案2
有计算机 SID、服务 SID、域 SID 和用户 SID。NewSID 和 sysprep /generalize 仅重置计算机 SID。是的,那些是相同的计算机 SID,是的,sysprep 在部署后会更改计算机 SID。
但是,无需更改机器 SID。根据这篇博文由 Mark Russinovich 在 TechNet 上撰写:
那么,多台计算机具有相同的计算机 SID 会不会有问题?唯一的可能就是 Windows 引用了其他计算机的计算机 SID。例如,如果当您连接到远程系统时,本地计算机 SID 被传输到远程系统并用于权限检查,则重复的 SID 会造成安全问题,因为远程系统无法区分入站远程帐户的 SID 和具有相同 SID 的本地帐户(其中两个帐户的 SID 具有相同的计算机 SID 作为其基础和相同的 RID)。但是,正如我们所讨论的,Windows 不允许您使用只有本地计算机知道的帐户向另一台计算机进行身份验证。相反,您必须为远程系统的本地帐户或远程计算机信任的域的域帐户指定凭据。远程计算机从其自己的安全帐户数据库 (SAM) 检索本地帐户的 SID,并从域控制器 (DC) 上的 Active Directory 数据库中检索域帐户的 SID。远程计算机从不引用连接计算机的计算机 SID。
换句话说,最终控制计算机访问权限的不是 SID,而是帐户的用户名和密码:仅仅知道远程系统上帐户的 SID 并不能让您访问计算机或其上的任何资源。作为 SID 不足的进一步证据,请记住,内置帐户(如本地系统帐户)在每台计算机上都具有相同的 SID,如果真是这样,那将是一个重大的安全漏洞。
Server Fault 上的 ThatGraemeGuy 同意我的观点。
说真的,你不需要 NewSID。 微软已经停用 NewSID,理由是它没有必要。 NewSID 下载页面显示:“注意:NewSID 已退役,不再提供下载。请参阅 Mark Russinovich 的博客文章:NewSID 退役和机器 SID 重复之谜。”
不过,Sysprep 仍会清除干扰 WSUS 的那些烦人的注册表项。Microsoft 不支持不使用 sysprep 进行克隆。
我从您的问题推测,您希望通过说 sysprep /generalize 执行相同的功能来摆脱 NewSID 步骤(耶!)。这是真的,但希望指出 NewSID 自 2009 年以来一直不受支持也将有助于您在推出过程中摆脱不必要的步骤。
答案3
部署后。常识。如果泛化会生成新的 SID,则必须在每台机器上重复它 - 这完全违背了这个词的含义。
通用化后,机器将通用化,然后在下次启动时重新初始化。因此,您关闭、部署,然后 - 部署的映像将启动并生成新的 SID pe 机器。
答案4
这里有一个关于 /generalize 和 SID 的 SYSPREP 实验室: