问题标签 [sccm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows-store-apps - 如何部署 Windows 8 lob/企业应用程序的更新?
我刚刚完成了 lob 应用程序的更新,但是当我尝试将其部署为更新时,我收到错误消息ERROR_PACKAGE_ALREADY_EXISTS (0x80073CFB)
。当我搜索此错误时,我发现了以下错误详细信息:
提供的包已经安装,并且阻止重新安装包。
如果安装的包与已安装的包按位不同,您可能会收到此错误。请注意,数字签名也是包的一部分。因此,如果一个包被重建或退出,它就不再与以前安装的包按位相同。修复此错误的两个可能选项是:(1) 增加应用程序的版本号,然后重新构建并退出包 (2) 在安装新包之前为系统上的每个用户删除旧包。
(http://msdn.microsoft.com/en-us/library/windows/desktop/hh973484(v=vs.85).aspx)
实际上,该软件包已被注销并使用了新证书,但我什至增加了版本号。
有没有另一种方法来部署更新而不必先卸载以前的版本?如果我做对了,应用程序代码的每次更改甚至证书的每次更改都会导致不同的包。这对我来说似乎是合乎逻辑的。我什至将版本号从1.0.0.1
to增加1.1.0.0
,重新构建并退出它。但这似乎还不够……仍然得到error_package_already_exists
:((
regex - 在 Logstash 中使用 Grok 解析 SCCM 2007/2012 日志
我有一个小型 POC 为 Logstash 工作,通过 RSyslog 消耗大量 Windows 事件和平面日志文件,到目前为止,这要感谢 Logstash/Grok 可用的优秀文档!
在我努力记录和写博客的过程中,我遇到了一个我似乎无法通过的讨厌的日志条目——即使是优秀的在线 GrokDebugger 也无法识别这些讨厌的引用字符串。
这是日志文件中的示例行,其中仅将片段标识为 %{QS} 引用的字符串。
GrokDegugger 将其识别为:
理想情况下,我想像这样提取事件:
- @message = "对程序 SU 扫描更新包 XXXXXXXX 处于运行状态的持续请求"
- @timestamp = 14:21:46.455+480
- @日期 = 02-16-2010
- @组件 = 执行管理器
- @线程 = 3328
社区中是否有其他人成功地从 System Center 日志中解析/提取事件?
提前致谢!
c - 本地系统管理员下的 CreateProcessAsUser 返回“5:访问被拒绝”
我一直在努力启动在另一个注册用户帐户下的本地系统帐户(通过远程部署服务)下启动的进程。我已按照以下步骤操作:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa379608%28v=vs.85%29.aspx
它适用于我的本地 XP 机器。即我的进程从注册的用户帐户开始,并在正确的上下文中执行所有内容。但是其中一位用户(也在 XP 上)有问题,在 CreateProcessAsUser 之后得到错误代码 5。我无法重现这一点,并试图调查为什么会发生这种情况。有趣的是,我什至删除了我的注册管理员在我有我的 exe 的特定文件夹上的读取/执行权限,但它仍然运行所有内容,所以我不太确定在哪里寻找问题的根源。为了解决这个问题,我将不胜感激任何建议。也许您有类似的经历并设法找到解决此问题的方法?
谢谢!
PS 我正在通过 psexec /si cmd 模拟本地系统管理员
sccm - SCCM 2012 使用 OR 语句的多个搜索词
我在 SCCM 2012 中收集了 100 台机器
我有一个需要添加到另一个集合的机器的简短列表,有没有办法使用集合显示视图顶部的搜索栏来拥有多个术语?我试过逗号和分号。这些是机器名称,我无法创建新的查询或集合,因为机器没有在 SCCM 中分隔它们的信息,它们由它们所在的建筑物分隔,而 SCCM 不知道。
sccm - SCCM 2012 应用程序部署脚本问题,有什么想法吗?
我对 SCCM 2007 脚本应用程序部署没有任何问题,但 SCCM 2012 让我大发雷霆,我所剩无几。我们倾向于进行大量脚本安装,并且大多数情况下在 SCCM 2012 中安装失败,最近的失败是 symantec Enterprise vault,我编写了一个脚本来检查主 DLL 插件版本并使用正确的卸载字符串删除以前的版本, 在安装最新版本之前。
我的脚本非常简单,在 SCCM 之外运行良好,但在 SCCM 内部却失败了。
如果我将应用程序重新创建为 MSI 部署并使用 MSI 文件,则它可以正常安装,因此 SCCM 对客户端正常工作。SCCM 从 MSI 进行的卸载失败,但在下面的示例中进行了介绍。我检查了所有客户端日志文件,但找不到任何问题。
我什至在脚本末尾返回成功安装返回代码 1707 和 0 以尝试获取 SCCM 以使其成功。我首先在 VB.net 中将脚本作为控制台服务应用程序编写,然后在 vb 脚本中重写。两个脚本都失败了。过去我曾经使用 AutoIT 编写脚本,但那也失败了,所以我想我会改用更微软的东西。
对于检测,我使用 Windows 安装程序选择并指向获取产品代码的 msi 文件。
部署类型是脚本。
我唯一能想到的是 SCCM 2012 不喜欢脚本中的睡眠。
或者它只是不喜欢脚本。:-(
MSI 卸载失败,因为它需要以管理员身份运行,正如您从下面的脚本中看到的那样,我以管理员身份运行,这在 SCCM 之外有效,但在 SCCM 中无效。安装使用几乎相同的代码,但更多的逻辑和更多的卸载字符串。
即使卸载失败,卸载脚本也很简单;
sccm - WINPE MDT 2012 启动映像问题 [BootImage 需要更新 VersionUpdate=True]
全部,
我正在尝试在我们的 SCCM 基础架构(2012 年)中部署/使用 WINPE.WIM,在更新分发点后,我查看了 SMSPXE 日志,它指出:
BootImage PSI000C7 需要更新(新 packageID=PSI000C7) VersionUpdate=true
我尝试从 BootImage 中删除所有 DP,尝试切换“从启用 PXE 的分发点部署此启动映像”,重新启动 WDS 服务,并将任务序列“重新部署”到目标集合。
不幸的是,我尝试过的所有事情都没有奏效。
其他人对此有任何经验,如果有,我该如何强制它更新 WIM?
谢谢,愤怒。
sql - 构建 WQL 查询的逻辑
对于 System Center Configuration Manager R2 中集合的成员资格规则,我必须编写一个 WQL 查询,这有点复杂,并且让我很难为其构建逻辑。
假设我需要两张表:用户和系统。
我的目标是编写一个查询来检索“最后登录用户”(系统表的列)的“办公室”(用户表的列)等于给定值的所有系统。
我假设我需要一个子选择,但我无法弄清楚确切的逻辑。
powershell - wmi 加速器和身份验证
似乎我无法在某处清楚地找到在 PowerShell 脚本中使用 WMI 加速器时,您无法通过身份验证。
一点背景...
我正在为 SCCM 2012 编写 PowerShell 脚本,例如,我发现以下非常使用:
在本地执行时(在 SCCM 主服务器上,它运行良好且迅速。但是,当从运行 W7 的台式计算机执行时,以下内容最终会出错:
目前,使用 PSSession 是不可能的。对于我必须处理的当前基础架构,使用 SCCM commandlet 是不可能的。
我唯一的问题是:您能否确认我们无法通过 WMI 加速器的任何身份验证?那时,我主要出于好奇而寻找答案。我找到了一种方法来管理我当前的限制。只是我觉得加速器如此“优雅”。
现在我为什么需要它?我需要在不使用 SCCM cmdlet 的情况下从用户使用与授权连接/访问 SCCM 主服务器的名称不同的帐户登录的台式计算机访问“惰性属性”。
我仍然没有找到如何将“* .__PATH”与 Get-WMIObject cmdlet 一起使用。
powershell - 从命令行删除 SCCM 集合
使用 UI (SCCM 2012) 时,为了能够删除集合(比如 CollA),您首先需要确保它没有通过任何规则链接到另一个(比如 CollB 等),例如:
- CollB 包括 CollA
- CollC 不包括 CollA
在处理大量集合时,删除集合可能会很耗时。出于这个原因,我创建了一个脚本,
- 可远程使用以避免需要通过 RDP 连接
- 它检查 CollA 是否没有剩余规则(即使如果我们想删除 CollA 这不是问题)
- 检查 CollA 是否“链接”到其他集合(包括或排除规则)
- 删除找到的任何规则(在 CollB 和 CollA 之间,在 CollC 和 CollA 之间)
我现在被卡住了,因为我找不到删除 CollA 的方法。对于身份验证问题和远程目的,我使用了很多 Powershell 和 WMI。
那时,我找到了一个方法 Delete(),当我尝试使用它时,它给了我:
如果那是我应该使用的方法,要传递的参数是什么?
编辑 1
正如 MadTechnician 所指出的,SCCM 集合一旦在 $CollA 中检索到一个 System.Management.ManagementObject。如 MSDN 页面中所述,我应该能够使用以下方法:
- Delete() > 产生上述错误
- Delete(DeleteOptions) > 我找不到所需选项的规格
- Delete(ManagementOperationObserver) > 我找不到所需选项的规格
为确保我正确理解有关 *.Delete() 的 MSDN 页面,我尝试(成功)以下操作:
编辑 2
事实是,当通过控制台删除 SCCM 集合时,集合并不是从清单中删除的唯一内容:例如,分配也被删除了。它提醒在处理 MySQL 或 ORACLE 时的 CASCADE 开关。也许我想做的事情是不可能的
- 不使用控制台
- 不使用 SCCM cmdlet
如果不能那样做,我只需要确定。
编辑 3
经过一段时间的成熟,我开始怀疑这是否可能是授权问题。我的意思是,我使用“-credential”开关或连接到服务器时打开 SCCM 控制台的帐户允许我创建/更新/删除集合,但例如,它不允许我删除一个设备。我希望错误消息会有所不同,但谁知道呢?
或多或少关于同一件事(对不起题外话),试图从命令行中删除一个设备,我发现了这个并且我有相同的错误消息(见上文)。如果它适用于其他人而不是我,它可能与授权有关吗?
编辑 4
我请求了一个比我的技术帐户拥有更多“特权”的服务帐户。我测试了,我有同样的错误。我把授权假设放在一边。
wmi-query - 在 WQL(WMI 查询语言)中获取空值数组列时出错
我对 WQL(WMI 查询语言)世界并不陌生。我正在尝试使用 WQL 查询 ConfigMgr 2012,但是当我尝试在逗号分隔的选择子句中提及列的名称时遇到错误。仅当获取的列是数组类型并且包含空值时才会发生错误。如果数组列有一些值,它工作正常。即使列是非数组类型(字符串、整数等)并且包含空值,同样的工作也很好。我已经详细说明了下面的示例查询:
当我触发以下查询时,它运行良好:
查询#1:SELECT * from SMS_PROGRAM
但是当我触发以下查询时,它会导致错误:
查询#2:SELECT PackageID, SupportedOperatingSystems from SMS_PROGRAM
(GenericFailure) 错误代码为 0x80041001
对于包含 7 条记录的结果集中的所有记录,此处SupportedOperatingSystems
的属性为 null。该属性是一个包含类对象的数组SMS_OS_Details
。我已经使用 wbemtest 工具获得了这些详细信息。我要求如果有人遇到这个问题,那么任何帮助将不胜感激。