首页 > 解决方案 > 使用 PowerShell 安装 SCCM 包

问题描述

我有这个脚本,所以我可以使用 Powershell 安装 SCCM 中可用的应用程序。

我试图用一个包来做,但不能让它工作。有没有人可以帮助制作脚本,使其适用于包。谢谢

$ComputerName = $env:COMPUTERNAME
$ApplicationName = "VLC Player"
$ApplicationClass = [WmiClass]"\\$($ComputerName)\root\ccm\clientSDK:CCM_Application"
$Application = Get-WmiObject -Namespace "root\ccm\clientSDK" -Class CCM_Program | Where-Object { $_.Name -like "*$($ApplicationName)*" }
$ApplicationID = $Application.Id
$ApplicationRevision = $Application.Revision
$ApplicationClass.Install($ApplicationID,$ApplicationRevision,$false,0,"High",$false)

标签: powershellsccm

解决方案


我从未尝试过,但根据我的研究,它应该使用CCM_ProgramsManager的 ExecutePrograms 类来完成

所以它看起来像:

$i = Get-WmiObject -Class CCM_Program -Namespace "root\ccm\clientsdk" | Where-Object { $_.Name -like "*some search term*" }    
Invoke-WmiMethod -class CCM_ProgramsManager -Namespace "root\ccm\clientsdk" -Name ExecutePrograms  -argumentlist $i

我发现有趣的是,我发现的示例都使用 ExecutePrograms 而不是也存在的 ExecuteProgram 方法。也许这是因为 Get-WmiObject 总是返回一个列表,即使它只有一个项目,但我不知道。

也只是一个一般性的提醒:一般来说,软件可用是有原因的,那就是它不应该自动安装。如果您希望它自动安装,您应该将其设置为 required 并让 sccm 处理安装。


推荐阅读