使用 PowerShell 安装 SCCM 包
Install SCCM packages with PowerShell
我有这个脚本,所以我可以使用 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)
我从未尝试过,但根据我的研究,应该使用 CCM_ProgramsManager
的 ExecutePrograms class 来完成
所以它看起来像:
$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 总是 returns 一个列表,即使它只有一个项目,但我不知道。
也只是一般性提醒:
一般来说,一个软件可用是有原因的,那就是它不应该被自动安装。如果您希望它自动安装,您应该将其设置为必需并让 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)
我从未尝试过,但根据我的研究,应该使用 CCM_ProgramsManager
的 ExecutePrograms class 来完成所以它看起来像:
$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 总是 returns 一个列表,即使它只有一个项目,但我不知道。
也只是一般性提醒: 一般来说,一个软件可用是有原因的,那就是它不应该被自动安装。如果您希望它自动安装,您应该将其设置为必需并让 sccm 处理安装。