Eu gostaria de obter o Update Status
automaticamente ( Update Status
sendo a frase You're up to date
na captura de tela abaixo).
Eu descobri como obter o Last checked
carimbo de data/hora no PowerShell usando:
$(New-Object -ComObject Microsoft.Update.AutoUpdate).Results.LastSearchSuccessDate;
No entanto, tentar encontrar o Update Status
está me iludindo completamente. Não tenho certeza se o próprio status está armazenado em algum lugar ou se o aplicativo de configurações determina o status com base no número de atualizações disponíveis, mas não encontrei uma solução para replicar o status.
Alguém sabe se isso é possível de conseguir? Não estou procurando forçar automaticamente a instalação das atualizações, só preciso obter o status.
O status geralmente é You're up to date
ou Updates available
, mas acredito que existam outros status como Update Failed
.
Edit: O código a seguir não parece fazer o que estou procurando:
Continuação do meu comentário. Sempre que você dispara Configurações e clica em Atualizar. Windows verifica dinamicamente por atualizações. Você pode fazer isso sozinho.
Com base nos resultados da detecção, você pode usar a lógica para cuspir qualquer mensagem que escolher.
Veja também para uma tomada semelhante:
Use o
Microsoft.Update.Session
objeto para pesquisar as atualizações de software atribuídas que não estão ocultas ou já instaladas. Se nenhum for encontrado, não há atualizações, caso contrário, existem algumas disponíveis:Para executar isso em um computador remoto, use
Invoke-Command
:Além disso, se você precisar executar isso em um servidor remoto que não esteja no mesmo domínio, siga minha resposta aqui para defini-lo como um host confiável
Aqui está um exemplo de saída do script: