首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SCCM循环OSD任务序列

SCCM循环OSD任务序列
EN

Server Fault用户
提问于 2012-01-17 03:06:43
回答 2查看 10.7K关注 0票数 3

更新:

下面的问题是在下面被接受的答案的帮助下解决的。然而,问题的实际原因是一个错误。我在下面为这个问题添加了另一个答案,它包含了这个bug的细节,以及一个已经发布的修补程序解决方案的细节。

问题:

在我的组织里,我们有一个计算机实验室,每周都必须重新安装。我们目前正在通过2007年SCCM进行这一工作。目前,这是通过为工作OSD任务序列(TS)每周创建一个新的强制广告来完成的。然而,我想通过在一个重复的时间表上设置一个广告来做到这一点。

为了使TS在机器上重复运行,必须启用广告选项“始终重新运行程序”,否则TS只能运行一次。

我遇到的问题是,当执行机器的重映像时,会安装新客户端,从而创建一个新的GUID。这意味着我必须提供一些自动的方式来读取新的客户端GUID到集合,在那里反复出现的TS是广告。当然,由于客户端有一个新的GUID,这意味着SCCM认为TS尚未在这台机器上运行,并在读取到集合后立即开始重映像,从而有效地将机器放入一个无限的重构循环中。

我已经考虑过简单地将客户机构建到映像中,这样它就可以通过重新映像来维护相同的GUID,但是这种方法还有其他问题。

对于如何设置每周一次重新映像机器的反复TS,有什么建议吗?

编辑:

为了澄清一些事情,我会更好地解释一下情况:

  • 我试图运行的OSD任务序列大约需要一个半小时才能完成,这将发生在凌晨3点左右。在完成OS部署之后,另一个TS将需要运行,以便安装最后一个程序,由于某些程序限制,必须通过单独的TS来完成该程序。
  • 其次,当我提到上面的GUID时,实际上我指的是分配给新安装的ConfigMgr客户端的SMS GUID。当然,还有其他的原因,一个新的SMS GUID将被创建,但这些并不是任何关注的情况下。

解决方案详细信息:

根据下面newmanth的建议,我做了以下几点来解决这个问题:

  1. 对于OSD任务序列和相关广告,我设置了以下设置:
    • 最大允许运行时间(分钟):90 (TS属性->高级)
    • 程序重新运行行为:始终重新运行程序(广告属性->计划)
    • 广告时刻表:凌晨3点,每week重复一次

  2. 对于包含问题计算机的集合,我使用了以下设置:
    • 维修窗口持续时间:凌晨3点-4点35分,每周重复一次。 I还检查了选项,“此计划仅适用于操作系统部署任务序列”。这允许我在维护窗口之外运行上面提到的第二个TS,但防止在将客户端重新添加到collection. 之后立即进行重新生成。维护窗口必须大于或等于TS或程序的最大运行时间加上公告的程序客户端代理倒计时时间(我的设置为5分钟)。由于我的TS将有90分钟的最大运行时间,我将不得不将我的窗口设置为95分钟。
    • 收集成员更新时间表:凌晨4:45,每天重复。 重建完成,维护窗口于凌晨4时35分关闭。我现在等待10分钟的好措施,并安排一个集合成员更新,以便重新添加新安装的客户端。我可以在重建的同一天每周做一次,但出于其他原因,我每天都这样做。根据集合添加新客户端成员的方式, 还可能需要在此更新发生之前安排您的发现方法运行。例如,如果集合根据Active Directory组添加新的客户端成员,则需要首先运行相应的Active发现方法,以便新创建的客户端记录填充相应的Active信息。否则,新的客户端记录将没有任何AD组信息,也不会被添加到集合中。

对于上面的设置,重建过程应该如下所示:

  1. 维修窗口於凌晨三时开放。
  2. OSD任务序列于凌晨3点开始
  3. OSD任务序列大约在一个半小时后(凌晨4:30)结束。
  4. 维护窗口在凌晨4点35分关闭,防止TS立即重复。
  5. 集合成员资格更新在凌晨4:45重新添加新安装的客户端。
  6. 在客户端策略检索之后,上面提到的第二个TS运行。
  7. 步骤1-6应在下个星期自动重复.
EN

回答 2

Server Fault用户

回答已采纳

发布于 2012-01-17 04:39:41

我认为,您可以通过设置一个每周一次的维护窗口来解决这个问题,同时总是重新运行广告。确保窗口足够长,允许广告运行一次。这将防止后续运行,直到维护窗口再次命中为止。技术网:http://technet.microsoft.com/en-us/library/bb632801.aspx

票数 3
EN

Server Fault用户

发布于 2012-02-06 19:40:59

这个问题的公认答案确实帮助我为所描述的环境建立了一个工作解决方案,并且在我的附加解决方案中使用上述设置将有效。然而,事实证明,这并不需要,因为真正的问题,在我的问题的核心是由于SCCM 2007的错误,并已被修复。

KB977203

http://support.microsoft.com/kb/977203

不要让那篇KB文章的标题欺骗您,因为这个特定的bug在SCCM 2007中影响的东西比它最初指出的更多。

注意:虽然此修补程序已被其他几个修补程序所取代,但仍然需要该修补程序附带的CCMCertFix.exe实用程序,并且只与此特定修补程序一起使用。

下面是KB2028442的一段摘录,它解释了正在发生的事情:

该问题是由ConfigMgr 2007客户端在混合模式下自动生成的自签名证书造成的。如果生成证书时没有在客户端PC上安装KB977203 ConfigMgr 2007客户端修补程序,那么证书将在友好的名称中具有嵌入的空字符,如KB974571中所述。当使用OSD序列刷新PC时,ConfigMgr 2007客户端证书将从旧的Windows迁移到新的Windows。如果原始Windows上的ConfigMgr 2007客户端证书具有KB974571描述的友好名称中的嵌入空字符,并且如果KB974571是作为任务序列部署的参考映像的一部分安装的,则在安装新的Windows时,KB974571将阻止迁移到具有友好名称中嵌入的空字符的ConfigMgr 2007客户端证书。这将导致ConfigMgr 2007客户端安装失败。

现在,在我的例子中,客户端安装得很好,但是由于这个空字符,证书仍然没有被正确迁移,因此它只是在SCCM中用不同的SMS GUID创建新的客户端记录。因此,每次对客户端机器进行重新构建时,我都必须运行集合成员资格更新,以便将客户端重新添加到集合中。当然,由于ConfigMgr认为这是一台新的客户端机器,所以它从来没有运行过OSD序列的记录,因此立即再次运行它,有效地将它放入一个无限的重构循环中。

在将此修复应用到客户端(我实际上使用了取代它的KB977384修复)并在OSD序列运行之前运行CCMCertFix实用程序之后,我将不再为最近重建的客户端获得新的SMS GUID,因此不再需要将客户机重新添加到集合中,OSD现在将看到它刚刚在客户端上成功运行,并且不会再次尝试重新构建它。

CCMCertFix.exe

CCMCertFix.exe实用程序必须在TS启动之前运行。这意味着它将不作为一个步骤在您的TS。要做到这一点,您必须使用TS的属性,并且在Advanced选项卡上有“先运行另一个程序”的选项。您还需要设置“始终首先运行此程序”选项。

要获得CCMCertFix.exe实用程序,必须在服务器上安装KB977203修补程序,然后将提示您为其自动创建包。使用创建的包,添加一个简单运行CCMCertFix.exe实用程序的新程序。

对我来说,我已经安装了KB977384并不重要,它取代了这个修补程序。它仍然成功运行,并为我创建了包。我也不需要将该修补程序部署到客户端,因为我已经在应用KB977384修补程序。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/350503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档