我拥有此脚本,因此我可以使用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)
答案 0 :(得分:0)
我从没有尝试过,但是根据我的研究,应该使用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如何总是返回一个列表,即使它只有一个项目,但我也不知道。
这只是一般性的提醒: 通常,有一个可用软件的原因,即不应自动安装该软件。如果要自动安装,则应将其设置为必需,然后让sccm进行安装。