通过Powershell调用已部署的SCCM软件包

时间:2018-11-02 14:02:48

标签: powershell wmi sccm

我一直在努力寻找一种使用Powershell调用已部署到SCCM中的客户端的软件包的方法。

我能够使用WMI运行应用程序,但它仅适用于应用程序,不适用于程序包。

 $Application = (Get-CimInstance -ClassName CCM_Application -Namespace "root\ccm\clientSDK" -ComputerName $Computername | Where-Object {$_.Name -like $AppName})

 $Args = @{EnforcePreference = [UINT32] 0
 Id = "$($Application.id)"
 IsMachineTarget = $Application.IsMachineTarget
 IsRebootIfNeeded = $False
 Priority = 'High'
 Revision = "$($Application.Revision)" }

 Invoke-CimMethod -Namespace "root\ccm\clientSDK" -ClassName CCM_Application -ComputerName $Computername -MethodName $Method -Arguments $Args

无论如何,使用CCM_Application类,我可以列出部署到该工作站的所有应用程序,并且可以安装/卸载,它只是不显示任何程序包。我找到了CCM_Program / CCM_ProgramManager类,但是它不返回任何程序包/任务序列。还有其他人能够做到这一点吗?还是通过Powershell无法实现?我发现有人用C#编写的.dll似乎可以与应用程序/程序包一起使用,但我希望尽可能不加载任何依赖项。

0 个答案:

没有答案