使用命令行验证部署类型是否具有全局条件

时间:2014-01-06 09:24:09

标签: powershell-v3.0 wmi-query sccm

目前为SCCM编写脚本以实现自动化

  • 创建馆藏

  • 填充馆藏

  • 等。

我想添加一个“验证”步骤。

我想确保(通过命令行,因为我想自动化它)部署类型至少有一个全局条件。

我搜索了

我能找到一个可以解决问题的命令行开关吗?

  • 使用WMI的方式:Get-WmiObject -list -Namespace root\sms\site_[sitecode]

我能找到一个可以提供信息的课程吗?

  • 一个WQL

我找到了两个信息:

  • 是否正在使用全局条件:有趣但在我的情况下不太有用

  • 可以使用Get-CMDeploymentType -applicationname [AppName]).SDMPackageXML

  • 找到全局条件名称

我的全局条件没有完全相同的前缀。因此,以下情况可能在某些情况下有效,但无法信任:PS P41:\> (Get-CMDeploymentType -applicationname PKG_10).SDMPackageXML -match "GC_"

这是我需要一些帮助的地方。我错过了什么?哪个WQL查询会给我提供我需要的信息/确认?

1 个答案:

答案 0 :(得分:0)

找到解决方案! 我一直在TechNet中挖掘并找到两件事:

  • 如何反序列化
  • 我选择的单词很糟糕:在谈到部署类型时,我们不再谈论全局条件,而是谈论要求

最后,我通过以下方式解决了我的需求: ([Microsoft.ConfigurationManagement.ApplicationManagement.Serialization.SccmSerializer]::DeserializeFromString((Get-CMApplication -name AppName).SDMPackageXML)).DeploymentTypes.Requirements.Count

当然,如果有多个部署类型, ([Microsoft.ConfigurationManagement.ApplicationManagement.Serialization.SccmSerializer]::DeserializeFromString((Get-CMApplication -name winzip_FR_1.5.0_R1.000).SDMPackageXML)).DeploymentTypes[n].Requirements.Count

好的,谢谢,