Files
Sandbox/SCCM-InstallUpdatesAndTrack.ps1
T
Zack Meier 03dba08135 sync
2026-04-15 15:42:41 -05:00

18 lines
884 B
PowerShell

$AvailableUpdates = (Get-WmiObject -query 'SELECT * FROM CCM_SoftwareUpdate' -namespace 'ROOT\ccm\ClientSDK')
If($AvailableUpdates){
([wmiclass]'ROOT\ccm\ClientSDK:CCM_SoftwareUpdatesManager').InstallUpdates([System.Management.ManagementObject[]] $AvailableUpdates)
}
([wmiclass]'ROOT\ccm\ClientSDK:CCM_ClientUtilities').DetermineIfRebootPending()
$InProgress = (Get-WmiObject -query 'SELECT * FROM CCM_SoftwareUpdate' -namespace 'ROOT\ccm\ClientSDK')
$Inprogress.percentcomplete
#as admin
$UpdateStatus = get-wmiobject -query "SELECT * FROM CCM_UpdateStatus" -namespace "root\ccm\SoftwareUpdates\UpdatesStore"
$InstalledUpdates = Get-HotFix | Where-Object InstalledOn -eq (Get-Date).Date
$UpdatesRemaining = Compare-Object $AvailableUpdates.ArticleId $InstalledUpdates.HotFixId.trim("KB")
$AvailableUpdates | where-object {$_.ArticleId -match $UpdatesRemaining.InputObject}