Estoy tratando de encontrar una manera de crear un informe WSUS de actualizaciones que se hayan aprobado para el grupo de computadoras A que no se hayan aprobado para uno o más grupos. Alternativamente, un informe tabular que enumera el estado de aprobación para cada actualización y cada grupo, de modo que pueda procesarse para extraer lo que necesito. No parece haber tal informe en el propio WSUS, o al menos no puedo encontrar uno, por lo que un guión para producir dicho informe sería muy bienvenido.
9
Respuestas:
Este script de PowerShell hace exactamente lo que fue su solicitud inicial. Examine un grupo de computadoras y encuentre actualizaciones no aprobadas para uno o varios otros grupos de computadoras.
Nota Deberá ejecutar esto en un servidor WSUS o en una máquina que tenga instaladas las herramientas de administración de WSUS.
Configuración
Establezca
$targetComputerGroup
el grupo de computadoras que desea usar como línea de base Establezca$CheckForMissing
los nombres del grupo o grupos para los que desea ver si han sido aprobados. Nota: Para hacer múltiplos solo coma separado ("Grupo1, Grupo2")Cuando termine, obtendrá una salida como:
Si en lugar de enviar a la pantalla desea exportar la lista a un CSV, reemplace la parte inferior con el siguiente código:
fuente
Uno puede "simplemente" conectarse a la base de datos WSUS y ejecutar consultas en su contra:
\\.\pipe\MSSQL$MICROSOFT##SSEE\sql\query
con la autenticación de Windows .Estas tablas parecen ser de interés con respecto a su pregunta:
tbUpdate
Contiene información sobre actualizaciones individuales
tbTargetGroup
Contiene información sobre todos los grupos de computadoras
tbDeployment
Contiene información sobre qué actualizaciones se han aprobado para qué grupos de computadoras
Sin embargo, parece beneficioso utilizar la vista ya existente
vUpdateApproval
para recuperar la mayor parte de la información que busca, ya que esta vista ya traduce laActionID
columnatbDeployment
entre otras cosas.La
vUpdateApproval
vista, sin embargo, no incluye ningún título fácil de leer para las actualizaciones. Los títulos generalmente se leentbLocalizedProperty
. Para que sea más fácil para nosotros, hay otro punto de vista:vUpdate
.Realmente no tengo los datos adecuados en nuestra base de datos WSUS para construir la consulta adecuada que se ajuste a su primera solicitud (y no tengo la confianza suficiente para construirla a ciegas). Así que aquí hay un enfoque para su solicitud secundaria. Si no me equivoqué, produce una lista de todas las actualizaciones y el estado de aprobación para todos los grupos.
Lo que produce esta salida en nuestro SBS alemán:
Para nuestro SBS con sus 5 grupos predeterminados, esto produce 121558 filas de resultados en ~ 26s. Por lo tanto, si desea jugar con la consulta, puede ser recomendable cambiar la primera línea
SELECT TOP 1000
durante la prueba.También me tomé el tiempo para envolverlo todo en un script de PowerShell:
Tenga en cuenta que este script incluye la
SELECT TOP 10
limitación para evitar inundar su shell durante las pruebas.fuente
myscript.ps1 | fl
para obtener un resultado diferente (no truncado).