Al ejecutar el Asistente de limpieza del servidor WSUS desde el complemento MMC, puede ocurrir que reciba el siguiente error de base de datos WSUS:
Error: Error de base de datos
Se produjo un error al intentar realizar una operación de base de datos. Esto puede suceder si la base de datos está muy ocupada, si el servicio de base de datos se detiene, si se pierde la conexión a la base de datos, o si la tarea posterior a la instalación no se completa con éxito. Póngase en contacto con el administrador del sistema si el problema persiste.
Haga clic en Restablecer nodo del servidor para intentar conectarse de nuevo al servidor.
Si no ha realizado la limpieza en mucho tiempo, esto puede suceder. Por lo tanto, puede decidir leer el manual de la wsusutil.herramienta exe donde crees que el interruptor deleteunneededrevisions resolverá todos tus problemas, sin embargo, parece que el wsusutil.el parámetro exe deleteunneededrevisions no existe en WSUS 3.1.
Afortunadamente, puede lograr lo mismo con powershell. Las ventajas aquí son:
- Si ha utilizado este script de powershell una vez, puede volver a utilizar el Asistente de limpieza del servidor desde la interfaz gráfica de usuario.
- Puede programar la ejecución de este script de powershell mediante el Programador de tareas (por ejemplo, una vez al mes).
- En mi servidor WSUS, tenía alrededor de 600 GB de actualizaciones. Después de ejecutar este script, se comprimieron casi 2000 actualizaciones, ¡ahorrando casi 200 GB de espacio en disco!
Si guarda el contenido del script de powershell en «WSUSCleanup. ps1», puede ejecutar este script de la siguiente manera desde una ventana del símbolo del sistema de DOS: archivo powershell «WSUSCleanup. ps1»
¡Asegúrese de abrir el símbolo del sistema DOS como administrador!
El script en sí solo tiene 11 líneas (13 si incluye comentarios):
# WSUSCleanup. ps1
:: LoadWithPartialName(«Microsoft.Actualizar servicios.Administración») ‘ / out-null
ws wsus=:: Servidor GetUpdateServer();
$cleanupScope = Microsoft de nuevo objeto.Actualizar servicios.Administración.CleanupScope;
clean cleanupScope.DeclineSupersededUpdates = true true
clean cleanupScope.DeclineExpiredUpdates = true true
clean cleanupScope.CleanupObsoleteUpdates = true true
clean cleanupScope.CompressUpdates = true true
clean cleanupScope.CleanupObsoleteComputers = true true
clean cleanupScope.CleanupUnneededContentFiles = true true
clean cleanupManager = ws wsus.GetCleanupManager();
$Administrador de limpieza.PerformCleanup (clean cleanupScope);
# FINAL DE script
La salida del script se veía de la siguiente manera cuando lo ejecuté la primera vez:
C:\scripts> archivo powershell «WSUSCleanup. ps1»
Datos reemplazados suspendidos : 0
ExpiredUpdatesDeclined : 0
ObsoleteUpdatesDeleted : 3
UpdatesCompressed : 1953
ObsoleteComputersDeleted : 0