对于使用 MDT 2012 创建的 Windows 7 自动部署,我们希望在未满足某些必需的先决条件时中止安装。
例如,接收部署的计算机必须具有特定的组成员身份,以确保使用组策略正确应用部署后配置。
我知道有几种方法可以向任务序列添加自定义逻辑 - 例如,我们可以调用 Web 服务(如使用 MDT 2010 的 RIS 样式命名:使用 Web 服务)或者我们可以添加一些脚本来创建自定义任务序列(如MDT 2012,自定义任务序列变量用于在操作系统映像之间进行选择)。
但是我们在确定在哪里添加此脚本或 Web 服务调用时遇到了麻烦,以及如何确保在先决条件失败时中止部署。
是否有一个共同的解决方案来确保满足先决条件的问题?
答案1
仅告诉 ZTIUtility 报告错误并不能通知任务序列器它失败了。我相信您需要将 iRetVal 设置为除“0”以外的任何值,然后返回。
如果换作是你,我会配置 Web 服务以报告组成员身份,然后添加一些逻辑来确定是否存在有效组。如果不存在,请将 iRetVal 设置为任意数字,然后我认为你就成功了。
希望这可以帮助!
答案2
通过 .wsf 脚本文件中包含的 VBScript 将自定义代码添加到部署任务序列时,您可以通过将以下行添加到 .wsf 脚本来包含一组实用程序对象和函数:
<script language="VBScript" src="ZTIUtility.vbs"/>
有了这些实用程序对象,您就可以进行如下函数调用,将错误记录到部署日志(位于C:\MININT\SMSOSD\OSDLOGS\BDD.log
)。
oLogging.CreateEntry "Error - A prerequisite condition failed.", LogTypeError
请注意,LogTypeError
是在中定义的常数ZTIUtility.vbs
。
通过记录错误,您向 MDT 发出信号,表示发生了致命错误。我相信这总是会导致 MDT 向用户界面弹出错误窗口,并自动中止部署。