You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过PowerShell查询CCM_Application中AppDTs的PostInstallAction属性

在本地SCCM客户端查询应用程序的PostInstallAction属性

由于CCM_Application的AppDTs是嵌套的CCM_AppDeploymentType对象数组,WQL无法直接查询嵌套属性,必须先获取CCM_Application实例,再遍历其AppDTs数组提取目标属性。以下是可在无站点服务器连接的本地客户端运行的PowerShell脚本:

完整脚本示例

# 连接本地SCCM客户端WMI命名空间
$apps = Get-CimInstance -Namespace root\ccm\ClientSDK -ClassName CCM_Application

# 遍历每个应用程序
foreach ($app in $apps) {
    # 遍历应用下的所有部署类型(AppDTs数组)
    foreach ($dt in $app.AppDTs) {
        # 输出关键信息,可根据需求调整字段
        [PSCustomObject]@{
            ApplicationName       = $app.Name
            DeploymentTypeId      = $dt.Id
            DeploymentTypeName    = $dt.Name
            PostInstallActionCode = $dt.PostInstallAction
            PostInstallAction     = switch ($dt.PostInstallAction) {
                0 { 'None' }
                1 { 'Run Program' }
                2 { 'Force Reboot' }
                3 { 'Force Logoff' }
                default { 'Unknown Action' }
            }
        }
    }
}

关键说明

  • 使用Get-CimInstance:替代老旧的Get-WmiObject,性能更优且兼容性更强,是现代PowerShell操作WMI的推荐方式。
  • 权限要求:需以管理员权限运行脚本,否则会因权限不足无法访问root\ccm\ClientSDK命名空间。
  • 离线运行支持:所有操作仅针对本地客户端WMI,无需连接SCCM站点服务器,完全适配离线客户端环境。
  • 枚举值转换:PostInstallAction为整数类型,脚本中添加了对应可读文本的转换逻辑,方便直接查看结果。

内容的提问来源于stack exchange,提问作者crdy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 19:37:05