我终于在具有AllSigned执行策略的客户端上使用 PowerShell 检测脚本取得了成功。(提示:它在安装最新的服务包并使用Adam Meltzer 的解决方法后开始工作。)
现在使用 PowerShell 脚本进行应用程序检测是实用的,这让我想知道以下几点:
关于这个主题的文档很少。我为 SCCM PowerShell 检测脚本找到的最佳资源是这篇 Kloud 博客文章,但是,它对上下文问题保持沉默。
我正在使用 SCCM 2012 应用程序部署来安装软件。特定的安装类型是脚本安装程序,因为 SCCM 一直因 exe 验证错误而失败。该脚本是 powershell,即使由 SCCM 执行也能成功安装软件。
问题是 SCCM 只能从脚本的完成中看到 0 的返回。我试过write-host, return, write-output, 和只是一个带有软重启代码的行项目。SCCM 似乎没有读取它们,因为应用程序执行日志捕获了 0 的返回值。
您如何从 powershell 输出返回代码,以便 SCCM 可以解释它们?
长话短说(ish),我们正处于 XP 到 Windows 7 迁移项目的尾端,终于让一些 VIP 的机器进行了迁移。由于这台机器几乎与其上的操作系统一样老,因此除了新操作系统之外,这个特定用户还获得了新硬件的“祝福”。
问题是我们让实习生做这个特殊的迁移,他把它搞砸了。严重地。简而言之,用户状态迁移的一般过程是在 SCCM 中创建新旧计算机之间的关联,在旧计算机上运行捕获任务序列,然后在新计算机上执行还原序列。在这种情况下,捕获任务序列在计算机关联之前运行,因此 SCCM 拒绝进行还原,并且旧机器被重新格式化......出于某种原因......在这被发现之前。
现在,当我们尝试通过“恢复”USMT.mig捕获并上传到 SCCM 服务器来迁移用户时,我们在执行Request State Store操作后收到以下错误。

Task Sequence: USMT - Restore State has failed with the error code (0x00004005).
For more information, contact your system administrator or helpdesk operator.
Run Code Online (Sandbox Code Playgroud)
来自的相关日志条目smsts[date-time].log似乎是:
<![LOG[Requesting SMP Root share config information from http://[Our SCCM server]:0]LOG]!><time="15:45:28.823+240" date="06-13-2014" component="OSDSMPClient" context="" type="1" thread="5136" file="smpclient.cpp:2348">
<![LOG[Received 4027 byte response.]LOG]!><time="15:45:28.892+240" date="06-13-2014" component="OSDSMPClient" context="" type="0" thread="5136" file="smpclient.cpp:2363">
<![LOG[Adding \\[Our SCCM server]\SMPSTORED_378B856C$ to list …Run Code Online (Sandbox Code Playgroud) 我一直在使用特定的 .msi ( AppleApplicationSupport.msi)。我已经安装了两种不同的方式,我认为这两种方式是等效的。然而,结果不同如下。
使用psexec -i -s cmd命令提示符安装并运行msiexec /i AppleApplicationSupport.msi会产生我想要的结果:
创建 MSI 部署类型并使用 SCCM 客户端安装它会产生以下结果:
gwmi -Class Win32_Product,但是,运行$app.Uninstall()不会卸载它。我认为,安装了一个系统的MSI部署类型等同于运行msiexec从一个psexec -i -s cmd命令行。显然,它们并不相同。
SCCM 客户端在为系统安装 MSI 技术部署类型时究竟在做什么?我可以在没有 SCCM 参与的情况下复制该操作吗?
SCCM 客户端执行脚本安装程序部署类型的安装程序真的等同于调用msiexecfrompsexec -i -s cmd吗?换句话说,对于脚本安装程序部署类型,我应该期待msiexecSCCM 客户端msiexec运行和从 运行之间的奇偶校验 …
我们有一些 SCCM 客户端,主要是面向公众的网站,运行在 Windows Server 2008 R2 的 IIS 7.5 上,由名为XYmon的系统监控。我们最近注意到这些服务器在提前大约一个小时安装每月的 Windows 更新后重新启动。SCCM 客户端操作和监控系统存在一定的延迟,但 XYmon 就在 19:20-19:30 左右失去与这些机器的连接,而其余的受监控机器似乎在大约 20 小时后重新启动: 20-20:30。
我希望应用的维护时段从 20:00 开始,到 22:00 结束,并且每周四重新出现。
我想弄清楚为什么这些机器提前一小时安装更新。我知道多个维护窗口是“联合”或合并的,所以我怀疑还有另一个维护窗口也适用于这些客户端。
这些机器也位于未加入域的 DMZ 中,因此我也不排除任何时区/时钟偏差问题。
我认为时区/时钟偏差问题最有可能,但两台机器都在正确的时区,时间同步并设法适当地处理 3 月 8 日发生的夏令时变化。
我的下一个假设是,我们有一个错误的或旧的维护窗口适用于这些机器所在的集合。这对我来说似乎不太可能,因为有另一台机器应该是所有相同的集合,它在正确的时间重新启动20:00 左右。
让我们确保客户端确实在监控系统说它是重新启动时重新启动!
如果我检查客户端,则systeminfo显示启动时间为 19:22。事件日志似乎与此协作:
Log Name: System
Source: USER32
Date: 3/12/2015 7:21:02 PM
Event ID: 1074
Task Category: None
Level: Information
Keywords: Classic
User: SYSTEM
Computer: HOST09
Description:
The process C:\Windows\CCM\CcmExec.exe (HOST09) has initiated …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 MSI 部署类型将 Splunk UniversalForwarder 作为 SCCM 应用程序部署到一小组测试服务器,并且遇到了 MSI 安装程序的异常混乱问题。
部署类型本身非常简单。我将 MSI 文件 (splunkforwarder-6.2.1-245427-x64-release.msi) 上传到 SCCM 站点服务器,并让检测方法从 MSI 自动填充。我所做的唯一一件事就是更改安装字符串以包含以下参数:
msiexec.exe /lv splunkinstall.log /i "splunkforwarder-6.2.1-245427-x64-release.msi" AGREETOLICENSE=YES DEPLOYMENT_SERVER="splunkd.security.contoso.com" /quiet /norestart /qn
Run Code Online (Sandbox Code Playgroud)
由于包含/lv开关,我可以转到 C:\Windows\CCMcache 文件夹并查看安装日志:
GetPreviousSettings: Error: DetermineContextForAllProducts failed witht: 0x65b.
GetPreviousSettings: Error 0x80004005: Failed to GetInstalledSplunkSettings.
GetPreviousSettings: Info: Leave GetPreviousSettings: 0x80004005.
CustomAction GetPreviousSettings returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 14:20:23: GetPreviousSettings. Return value 3.
Run Code Online (Sandbox Code Playgroud)
有点谷歌功能,我在Splunk 的社区支持上 …
6 月 1 日,我们的一个软件更新点失去了连接到其 WSUS 服务器的能力:
WSUS Control Manager failed to monitor WSUS Server "SCCM.ad.contoso.gov". Possible cause: WSUS Server version 3.0 SP2 or above is not installed or cannot be contacted.
该SMS_WSUS_CONFIGURATION_MANAGER日志文件表明,无论是WSUS 3.0 SP2未安装或不能够由SMS SUP服务(SMS_WSUS_CONFIGURATION_MANAGER和SMS_WSUS_CONTROL_MANAGER)联系方式:
Error Milestone 004 6/8/2015 5:01:30 AM SCCM.ad.contoso.gov SMS_WSUS_CONTROL_MANAGER 7003 WSUS Control Manager failed to monitor WSUS Server "SCCM.ad.contoso.gov". Possible cause: WSUS Server version 3.0 SP2 or above is not installed or cannot be contacted. Solution: Verify that the WSUS Server version 3.0 SP2 …Run Code Online (Sandbox Code Playgroud) 我有几个关于使用 SCCM 在 Windows 笔记本电脑上为用户部署软件的问题:
sccm ×8
sccm-2012-r2 ×8
msi ×2
powershell ×2
wsus ×2
migration ×1
restore ×1
sccm-2012 ×1
scripting ×1
splunk ×1