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

如何用PowerShell获取SCCM应用程序部署的全标签页属性?

获取SCCM应用程序部署的完整标签页设置

问题说明

Get-CMApplicationDeployment 仅返回部署的核心基础属性,无法直接获取所有标签页(如计划、用户体验、警报)的详细设置——这些信息分散在ConfigMgr的多个WMI类中,需要通过关联查询或专用PowerShell命令获取。

方法一:使用ConfigMgr PowerShell模块(推荐)

需先确保已加载ConfigMgr模块(通常在控制台安装路径的AdminConsole\bin\ConfigurationManager.psd1),并切换到站点驱动器(如PS XYZ:\>)。

  1. 获取部署基础标识
    先拿到部署的核心ID,用于关联后续查询:

    $appName = "你的应用程序名称"
    $deployment = Get-CMApplicationDeployment -Name $appName
    
  2. 获取各标签页设置

    • 常规标签页:目标集合详情
      Get-CMCollection -Id $deployment.CollectionID
      
    • 计划标签页:部署时间计划
      Get-CMSchedule -InputObject $deployment
      
    • 用户体验标签页:安装行为、重启规则等
      Get-CMDeploymentUserExperienceSetting -DeploymentId $deployment.DeploymentId
      
    • 警报标签页:部署状态警报配置
      Get-CMDeploymentAlertSetting -DeploymentId $deployment.DeploymentId
      

方法二:直接WMI/CIM查询

如果无法使用ConfigMgr模块,可直接连接到SCCM站点服务器的WMI命名空间查询:

  1. 基础配置

    $siteCode = "你的站点代码" # 示例:XYZ
    $siteServer = "你的SCCM站点服务器主机名"
    $namespace = "root/SMS/site_$siteCode"
    $appName = "你的应用程序名称"
    
  2. 查询各标签页对应的WMI类

    • 常规标签页核心信息
      $baseDeployment = Get-CimInstance -ComputerName $siteServer -Namespace $namespace `
        -Query "SELECT * FROM SMS_ApplicationAssignment WHERE ApplicationName = '$appName'"
      
    • 计划标签页
      $scheduleSettings = Get-CimInstance -ComputerName $siteServer -Namespace $namespace `
        -Query "SELECT * FROM SMS_DeploymentSchedule WHERE AssignmentID = '$($baseDeployment.AssignmentID)'"
      
    • 用户体验标签页
      $userExperience = Get-CimInstance -ComputerName $siteServer -Namespace $namespace `
        -Query "SELECT * FROM SMS_DeploymentUserExperienceSettings WHERE AssignmentID = '$($baseDeployment.AssignmentID)'"
      
    • 警报标签页
      $alertSettings = Get-CimInstance -ComputerName $siteServer -Namespace $namespace `
        -Query "SELECT * FROM SMS_DeploymentAlertSettings WHERE AssignmentID = '$($baseDeployment.AssignmentID)'"
      
    • 目标集合(常规标签页)
      $targetCollection = Get-CimInstance -ComputerName $siteServer -Namespace $namespace `
        -Query "SELECT * FROM SMS_Collection WHERE CollectionID = '$($baseDeployment.CollectionID)'"
      

注意事项

  • 执行操作需要具备SCCM站点的部署读取权限
  • 使用PowerShell模块时,需在安装了SCCM控制台的机器上运行,或手动导入模块并连接站点

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 23:33:21