通过服务器上的Powershell在SCCM中执行install命令

通过服务器上的Powershell在SCCM中执行install命令,powershell,sccm,Powershell,Sccm,我想通过powershell在服务器上安装特定的软件包 Get-WmiObject -Namespace ROOT\ccm\ClientSDK -Class CCM_Application -ComputerName Y31056 | Select-Object AllowedActions, Fullname 我可以列出服务器上已安装或未安装的软件。 所以我只想在软件中心安装特定的软件包 AllowedActions

我想通过powershell在服务器上安装特定的软件包

Get-WmiObject -Namespace  ROOT\ccm\ClientSDK -Class CCM_Application -ComputerName Y31056 | Select-Object AllowedActions, Fullname
我可以列出服务器上已安装或未安装的软件。 所以我只想在软件中心安装特定的软件包

AllowedActions                                                             Fullname                                                                  
--------------                                                             --------                                                                  
{Install}                                                                  CMTrace                                                                   
{Install}                                                                  SCCMpackageV1                                          
{Install}                                                                  SQL Server 2014 SP2     
我想通过powershell运行脚本来安装SCCMpackageV1,但有点困惑如何实现它

$SoftwareApp = Get-WmiObject -Namespace  ROOT\ccm\ClientSDK -Class CCM_Application -ComputerName Y31056 | Select-Object AllowedActions, Fullname
$SoftwareApp.install.SCCMpackageV1

我在谷歌上搜索过,简单的安装命令应该可以工作,但我没有收到任何输出。也未安装软件。

需要提供CCM_应用程序对象的安装方法参数。Microsoft官方文档包含关于每个参数的详细信息,您可以参考以下链接:

请参阅以下代码作为在客户端计算机上安装应用程序的示例:

$ComputerName = "Y31056"
$AppName = "SCCMPackageV1"

$s = New-PSSession -ComputerName $ComputerName
Invoke-Command -Session $s -Argu $ComputerName,$AppName -ScriptBlock `
{
param ($ComputerName,$AppName)
write-host "Getting Parameters for '$AppName' on $ComputerName"
$Application = Get-WmiObject -computername $ComputerName -Namespace "root\ccm\ClientSDK" -Class CCM_Application | where {$_.Name -like "$AppName"} | Select-Object Id, Revision, IsMachineTarget
$AppID = $Application.Id
$AppRev = $Application.Revision
$AppTarget = $Application.IsMachineTarget
([wmiclass]'ROOT\ccm\ClientSdk:CCM_Application').Install($AppID, $AppRev, $AppTarget, 0, 'Normal', $False) | Out-Null
}
Remove-PSSession $s

谢谢你的解释,现在我修复了脚本,很高兴它能正常工作。再次感谢您的时间和提供的示例。