ao executar o Assistente de limpeza do servidor de WSUS do snap-in MMC, pode ocorrer que receba o seguinte erro da base de dados WSUS:
erro: Erro da Base de dados
ocorreu um erro ao tentar efectuar uma operação de base de dados. Isso pode acontecer se o banco de dados estiver muito ocupado, se o serviço de banco de dados for parado, se a conexão com o banco de dados for perdida, se a tarefa pós-instalação não for concluída com sucesso. Por favor contacte o seu administrador de sistema se o problema persistir.
carregue no nó do servidor de Reset para tentar ligar-se novamente ao servidor.
se você não realizou a limpeza em um longo tempo, então isso pode acontecer. Então você pode decidir ler o manual do wsusutil.ferramenta exe onde você pensa que o interruptor deleteunneedrevisions irá resolver todos os seus problemas, no entanto, parece que o wsusutil.o parâmetro exe deleteunneedrevisions não existe no WSUS 3.1.
felizmente, você pode alcançar a mesma coisa usando powershell. As vantagens aqui são:
- se tiver usado este programa powershell uma vez, poderá usar o Assistente de limpeza do servidor da interface gráfica de novo.
- pode agendar a execução deste programa powershell usando o escalonador de tarefas (por exemplo, uma vez por mês).
- no meu servidor WSUS, Eu tinha cerca de 600GB de atualizações. Depois de executar este script, quase 2000 atualizações foram comprimidas, economizando quase 200GB de espaço em disco!
se gravar o conteúdo do programa powershell no “WSUSCleanup.ps1”, então poderá executar este programa da seguinte forma a partir de uma janela de comandos do DOS: powershell-file “WSUSCleanup. ps1”
certifique-se que abre a linha de comandos do DOS como administrador!
O script em si tem apenas 11 linhas longas (13 se você incluir comentários):
# WSUSCleanup.ps1
::LoadWithPartialName(“Microsoft.UpdateServices.De administração”)` | out-null
$wsus = ::GetUpdateServer();
$cleanupScope = new-object Microsoft.UpdateServices.Administracao.CleanupScope;
$cleanupScope.Declinesuppersedupdates = $true
$cleanupScope.DeclineExpiredUpdates = $true
$cleanupScope.Cleanupobosoleteupdates = $true
$cleanupScope.CompressUpdates = $true
$cleanupScope.Cleanupobossoletecomputers = $true
$cleanupScope.Cleanupunneedcontentfiles = $true
$cleanupManager = $wsus.GetCleanupManager();
$limpador.PerformCleanup($cleanupScope);
# FIM do Script
A saída do script olhou como se segue quando eu corri a primeira vez em:
C:\scripts>powershell -arquivo “WSUSCleanup.ps1”
SupersededUpdatesDeclined : 0
ExpiredUpdatesDeclined : 0
ObsoleteUpdatesDeleted : 3
UpdatesCompressed : 1953
ObsoleteComputersDeleted : 0