powershell - 使用 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)
解决方案
我从未尝试过,但根据我的研究,它应该使用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 处理安装。
推荐阅读
- ios - 如何在 iOS 中快速拍摄全景图像?
- three.js - 在缩放期间更改 WebGl 屏幕空间投影线着色器的行为
- html - 使用复选框过滤为带有管道的表格
- php - $_SESSION 变量设置不正确,如何解决?
- sass - $input-height-inner-quarter 未定义变量
- excel - 创建宏以删除形状时出现运行时错误“1004”
- amazon-mws - GetOrder 方法中缺少买家地址和姓名
- python - 在 Django 中,`queryset is None` 是否评估查询集?
- javascript - React 子图表组件未更新
- javascript - 在图像内容中获取下一个和上一个按钮