$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}