我正在运行 SCCM '07,并使用 OSD 和任务序列构建 Windows 7 x86 映像。在 TS 期间,我执行“安装软件”步骤来安装 Adobe Flash。Flash 程序是一个使用相对路径(没有硬编码路径)的批处理文件。我假设该程序将从缓存中运行,并使用缓存文件夹作为路径。当我将其通告给机器时,该程序运行正常,但当从 OSD 中的 TS 运行时,它将默认路径设置为 C:\Windows(很可能是因为它试图使用 UNC 路径)。我在硬盘上进行了搜索,但似乎根本没有缓存该程序。有什么建议可以告诉我遗漏了什么,或者我可以做些什么来设置要用于该程序的路径,或者更好的是,缓存该程序以便它在本地运行?感谢您的时间。
答案1
您如何运行批处理文件?是使用 SCCM 包的“安装软件”步骤,还是“运行命令行”步骤?这对您使用和控制批处理文件的方式有很大影响。
如果您使用“安装软件”步骤,那么您需要做的就是确保在包属性中正确指定了源位置,并且在程序中正确指定了命令行(同时将“启动:”框留空)并始终确保勾选了“允许从安装软件任务序列安装此程序...”框。
如果您正在使用“运行命令行”作业,则在对其包进行与上述相同的检查后,请确保您已勾选步骤属性中的“包”框,指定了包含文件的正确包,并且没有在“开始于”框中指定任何内容。
假定包在分发点上正确存在,否则任务序列应该在初始“检查依赖项”步骤中失败,但以防万一您可以运行 SCCM 报告“特定任务序列引用的包”(在任务序列 - 引用”类别中)来检查 TS 使用的所有包的分发状态。
最后,SMSTS.log
客户端计算机上的应该显示每个步骤运行的确切命令行、文件下载到的位置(如果有的话)以及运行命令时的当前工作目录。这是一个巨大的文件,浏览起来很麻烦,但确实提供了所有信息。如果您使用的是批处理文件,您还可以 ECHO 任何有用的信息,它也应该显示在该日志中。在成功运行整个构建过程的机器上,日志最终将以“ C:\Windows\System32\CCM\Logs
”或“ C:\Windows\SysWOW64\CCM\Logs
”结尾,具体取决于已记录的信息量,您可能会发现任务序列的早期步骤已存档在 smsts-日期-时间。日志档案。
如果你还没有,那么trace32.exe
从SCCM 2007 工具包强烈推荐使用,它可以减轻阅读 SCCM 日志的痛苦。这是一个很小的日志查看器应用程序,可以理解 SCCM 的日志格式并突出显示可能存在错误或警告的行。
答案2
当您在 SCCM 中使用批处理文件安装软件时,您必须使用驱动器号运行它(在程序属性中),并且必须将其设置为从分发点运行(在广告属性中)。显然,在 TS 中您无法执行第二位,但请确保您执行了第一位,它应该可以正常工作。