Você deseja filtrar a propriedade EvaluationState
das atualizações retornadas. Existem vários tipos de Estados de avaliação para reinicializações pendentes, eles estão listados na página de technet para o sccm cliente sdk. States 8,9, & 10 são para reinicializações pendentes. Olhando para a sua função, eu faria algo como
function Get-CMMissingUpdate {
param (
$computer = "localhost"
)
Get-WmiObject -Query "SELECT * FROM CCM_SoftwareUpdate WHERE EVALUATIONSTATE = 8 OR EVALUATIONSTATE = 9 OR EVALUATIONSTATE = 10" -Namespace "ROOT\ccm\ClientSDK" -ComputerName $computer
}
Se você for alimentar a sintaxe crua em vez de usar o PowerShell, o que flutuar no seu barco. Eu não tenho nenhuma atualização sccm pendente agora, ou tempo para montar uma caixa de teste, mas isso deve fazer você ir.