标签: sccm-2012-r2

SCCM Powershell 检测脚本在什么环境中运行?

我终于在具有AllSigned执行策略的客户端上使用 PowerShell 检测脚本取得了成功。(提示:它在安装最新的服务包并使用Adam Meltzer 的解决方法后开始工作。)

现在使用 PowerShell 脚本进行应用程序检测是实用的,这让我想知道以下几点:

  1. SCCM 客户端在什么上下文中运行 PowerShell 检测脚本?系统?用户?
  2. 上下文是否取决于您在“部署类型”中选择“为用户安装”还是“为系统安装”?

关于这个主题的文档很少。我为 SCCM PowerShell 检测脚本找到的最佳资源是这篇 Kloud 博客文章,但是,它对上下文问题保持沉默。

powershell sccm sccm-2012 sccm-2012-r2

11
推荐指数
1
解决办法
8377
查看次数

如何让 SCCM 识别来自 Powershell 脚本完成的返回码?

我正在使用 SCCM 2012 应用程序部署来安装软件。特定的安装类型是脚本安装程序,因为 SCCM 一直因 exe 验证错误而失败。该脚本是 powershell,即使由 SCCM 执行也能成功安装软件。

问题是 SCCM 只能从脚本的完成中看到 0 的返回。我试过write-host, return, write-output, 和只是一个带有软重启代码的行项目。SCCM 似乎没有读取它们,因为应用程序执行日志捕获了 0 的返回值。

您如何从 powershell 输出返回代码,以便 SCCM 可以解释它们?

scripting powershell sccm sccm-2012-r2

9
推荐指数
1
解决办法
3万
查看次数

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)

migration restore sccm sccm-2012-r2

8
推荐指数
1
解决办法
7137
查看次数

SCCM 客户端在为系统安装 .msi 时究竟在做什么?

我一直在使用特定的 .msi ( AppleApplicationSupport.msi)。我已经安装了两种不同的方式,我认为这两种方式是等效的。然而,结果不同如下。

PSEXEC -i -s cmd

使用psexec -i -s cmd命令提示符安装并运行msiexec /i AppleApplicationSupport.msi会产生我想要的结果:

  • “Apple 应用程序支持(32 位)”出现在“添加或删除程序”中
  • 可以卸载“Apple Application Support (32-bit)”

SCCM 客户端安装的 MSI 部署类型

创建 MSI 部署类型并使用 SCCM 客户端安装它会产生以下结果:

  • “添加或删除程序”中没有显示任何内容
  • SCCM 未检测到它已安装
  • 可以使用 找到“Apple 应用程序支持(32 位)”应用程序gwmi -Class Win32_Product,但是,运行$app.Uninstall()不会卸载它。

有什么不同?

我认为,安装了一个系统的MSI部署类型等同于运行msiexec从一个psexec -i -s cmd命令行。显然,它们并不相同。

  1. SCCM 客户端在为系统安装 MSI 技术部署类型时究竟在做什么?我可以在没有 SCCM 参与的情况下复制该操作吗?

  2. SCCM 客户端执行脚本安装程序部署类型的安装程序真的等同于调用msiexecfrompsexec -i -s cmd吗?换句话说,对于脚本安装程序部署类型,我应该期待msiexecSCCM 客户端msiexec运行和从 运行之间的奇偶校验 …

windows-installer msi sccm sccm-2012-r2

7
推荐指数
1
解决办法
3816
查看次数

SCCM:Zoinks...神秘维护窗口

我想做什么?

我们有一些 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)

wsus sccm windows-server-2008-r2 sccm-2012-r2

6
推荐指数
1
解决办法
5608
查看次数

Splunk UniversalForwarder 失败并显示“DeleteContextForAllProducts failed witht: 0x65b”

我正在尝试使用 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 的社区支持上 …

msi splunk sccm windows-server-2008-r2 sccm-2012-r2

5
推荐指数
1
解决办法
2428
查看次数

SCCM SUP 无法连接 WSUS 服务器 - 未安装 WSUS 服务器 3.0 SP2 或更高版本

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)

wsus sccm windows-server-2012-r2 sccm-2012-r2

5
推荐指数
1
解决办法
3万
查看次数

SCCM 软件部署 - 用户需要登录,还是只需要在网络上?

我有几个关于使用 SCCM 在 Windows 笔记本电脑上为用户部署软件的问题:

  1. 用户是否需要登录到目标笔记本电脑,或者它在公司网络上就足够了?
  2. 或者目标笔记本电脑只是在线就足够了?意思是,不一定在公司域上,但可能在用户家庭网络上(适用于在家工作的用户)。这可能需要在用户笔记本电脑上运行某种组件,但 SCCM 是否提供此功能?

configuration-management sccm sccm-2012-r2

3
推荐指数
1
解决办法
994
查看次数