Estou tentando encontrar uma maneira de criar um relatório do WSUS de atualizações que foram aprovadas para o grupo de computadores A que não foram aprovadas para um ou mais outros grupos. Como alternativa, um relatório tabular que lista o status de aprovação de cada atualização e cada grupo, para que possa ser processado para extrair o que eu preciso. Parece não haver um relatório desse tipo no WSUS, ou pelo menos nenhum que eu possa encontrar; portanto, um script para produzir esse relatório seria bem-vindo.
9
Respostas:
Esse script do PowerShell faz exatamente qual foi sua solicitação inicial. Examine um computerGroup e encontre atualizações não aprovadas para um ou vários outros grupos de computadores.
Nota Você precisará executá-lo em um servidor WSUS ou em uma máquina com as ferramentas de administração do WSUS instaladas.
Configuração
Defina
$targetComputerGroup
como o Grupo de computadores que você deseja usar como linha de base. Defina$CheckForMissing
os nomes dos grupos para os quais você deseja ver se eles foram aprovados. Nota: Para fazer múltiplos, coma apenas em separado ("Grupo1, Grupo2")Quando concluído, você terá uma saída como:
Se, em vez de enviar para a tela, você deseja exportar a lista para um CSV, substitua a parte inferior pelo seguinte código:
fonte
Pode-se "simplesmente" conectar-se ao banco de dados do WSUS e executar consultas nele:
\\.\pipe\MSSQL$MICROSOFT##SSEE\sql\query
usando a autenticação do Windows .Estas tabelas parecem ser interessantes em relação à sua pergunta:
tbUpdate
Contém informações sobre atualizações únicas
tbTargetGroup
Contém informações sobre todos os grupos de computadores
tbDeployment
Contém informações sobre quais atualizações foram aprovadas para quais grupos de computadores
No entanto, parece benéfico utilizar a visualização já existente
vUpdateApproval
para recuperar a maioria das informações que você procura, pois essa visualização já traduz aActionID
colunatbDeployment
entre outras coisas.A
vUpdateApproval
exibição, no entanto, não inclui títulos de fácil leitura para atualizações. Os títulos são geralmente lidostbLocalizedProperty
. Para tornar mais fácil para nós, há um outro ponto de vista:vUpdate
.Eu realmente não tenho os dados adequados em nosso banco de dados do WSUS para construir a consulta adequada que se encaixaria na sua primeira solicitação (e não tenho confiança suficiente para construí-la às cegas). Então, aqui está uma abordagem para sua solicitação secundária. Se eu não errei, ele produzirá uma lista de todas as atualizações e o estado de aprovação de todos os grupos.
O que produz essa saída no nosso SBS alemão:
Para o nosso SBS com seus 5 grupos padrão, isso produz 121558 linhas de resultado em ~ 26s. Portanto, se você quiser brincar com a consulta, pode ser aconselhável alterar a primeira linha para
SELECT TOP 1000
durante o teste.Também reservei um tempo para agrupar tudo em um script do PowerShell:
Observe que este script inclui a
SELECT TOP 10
limitação para evitar inundar seu shell durante o teste.fonte
myscript.ps1 | fl
para obter uma saída diferente (não truncada).