Меню

Wsus ошибка при очистке

  • Remove From My Forums

 none

Ошибка при очистке из базы компьютеров, не отправляющих данные на сервер

  • Вопрос

  • Добрый день!

    На сервере WSUS запускается мастер очистки сервера, для удаления компьютеров, которые не отправляют данные на сервер. Мастер заверщается с ошибкой.

    Консоли администрирования WSUS не удается подключиться к базе данных сервера WSUS.

       
    Убедитесь в том, что на сервере WSUS запущен сервер SQL. Если проблему не удается устранить, попробуйте перезапустить SQL.

    System.Data.SqlClient.SqlException — Конфликт инструкции DELETE с ограничением REFERENCE «FK__tbExpande__Targe__23BE4960». Конфликт произошел в базе данных «SUSDB», таблица «dbo.tbExpandedTargetInTargetGroup», column ‘TargetID’.
    Выполнение данной инструкции было прервано.

    Source
    .Net SqlClient Data Provider

    Stack Trace:
       в System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
       в System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
       в Microsoft.UpdateServices.UI.SnapIn.Wizards.ServerCleanup.ServerCleanupWizard.OnCleanupComplete(Object sender, PerformCleanupCompletedEventArgs e)

    Какие варианты решения указанной проблемы?

Ответы

  • А можно поподробнее рассказать, про удаление FK__tbExpande__Targe__23BE4960. Удалить FK и создать его заново?

    Во первых 

    это не самое лучшее решение, которое ни в коем случае не стоит делать в рабочей структуре, но если надумаете удалять, то можете его поробывать.

    и может привести к неработоспособности БД — это как бы дискляймер) В некоторых случаях помогало.

    Во вторых, не  силен в SQL, но судя по ошибке

    System.Data.SqlClient.SqlException — Конфликт инструкции DELETE с ограничением REFERENCE «FK__tbExpande__Targe__23BE4960». Конфликт произошел в базе данных «SUSDB», таблица «dbo.tbExpandedTargetInTargetGroup»,
    column ‘TargetID’.

    Выполнение данной инструкции было прервано.

    Существуют некие ограничения внешнего ключа (Foreign Key) FK__tbExpande__Targe__23BE4960 таблицы  
    dbo.tbExpandedTargetInTargetGroup, которые и приводят к ошибке при удалении, что и отражено в логе.

    Подключитесь к вашей БД и посмотрите таблицу.

    Далее попробуйте удалить ограничитель FK, команды если не ошибаюсь:

    ALTER TABLE tbExpandedTargetInTargetGroup
    DROP CONSTRAINT FK__tbExpande__Targe__23BE4960

    но тут лучше проконсультируйтесь с SQL — специалистом

    По поводу создать заново не знаю получится ли, это надо пробывать, для начала удалите FK, далее проверьте работоспособность, и запустите заново cleanup wizard

    • Изменено

      23 января 2012 г. 13:11

    • Помечено в качестве ответа
      Kily83
      24 января 2012 г. 5:54

Место на нашем WSUS сервере ежедневно таяло на глазах. Решили зачистить старые обновления для Windows 7, 2008 и прочих уже почти отсутствующих у нас операционок.

Для начала стоит попробовать традиционный метод: «Чистка базы WSUS через Server Cleanup Wizard».

Нашли интересный баг, когда проставляем все галки, то сервер наглухо зависает (у нас «провисел» почти сутки) но так ничего не очистилось. А самое интересное, свободные 20 гиг, которые ранее были свободны на диске, тоже куда-то делись 😦

Если галки выставлять поочередно, то что-то очищается.

Но когда ставим галку «Неиспользуемые обновления и редакции обновлений», вылетает: «Ошибка базы данных».

Попробовали сделать PowerShell скриптом (можно поочередно вбивать команды, можно вставить в cmd файл и запустить его):

PS1:

[reflection.assembly]::LoadWithPartialName(«Microsoft.UpdateServices.Administration») | out-null

$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer();

$cleanupScope = new-object Microsoft.UpdateServices.Administration.CleanupScope;

$cleanupScope.DeclineSupersededUpdates        = $true      

$cleanupScope.DeclineExpiredUpdates           = $true

$cleanupScope.CleanupObsoleteUpdates          = $true

$cleanupScope.CompressUpdates                 = $true

$cleanupScope.CleanupObsoleteComputers        = $true

$cleanupScope.CleanupUnneededContentFiles     = $true

$cleanupManager = $wsus.GetCleanupManager();

$cleanupManager.PerformCleanup($cleanupScope);

Опции:

DeclineSupersededUpdates — Отклонить замененные обновления.
DeclineExpiredUpdates — Отклонить просроченные обновления.
CleanupObsoleteUpdates — Удалить из базы неиспользуемые обновления.
CompressUpdates — Удалить из базы устаревшие ревизии обновлений.
CleanupObsoleteComputers — удалить компьютеры которые не соединялись за последние 30 дней.
CleanupUnneededContentFiles — Удаляет файлы отклоненных обновлений из папки WSUS.

или CMD:

@echo off

@echo Starting cleanup: %date% %time% >> d:scriptsWSUS_Cleanup.log

powershell.exe d:scriptsWSUS_Cleanup.ps1 >> d:scriptsWSUS_Cleanup.log

@echo Finished cleanup: %date% %time% >> d:scriptsWSUS_Cleanup.log

Но в итоге после некоторых раздумий сервер выдал:

Печаль…

Как поправить ошибку пока не понятно…

Вот здесь как раз человек объясняет ситуацию:

http://zetslash.blogspot.com/2017/06/wsus.html

Процедура запуска сценария будет разной для разных вариантов установки SUSDB (Windows Internal Database или SQL Server). Для того, чтобы определить, где развёрнута база данных WSUS необходимо на сервере WSUS проверить значение реестра SQLServerName в разделе HKLMSoftwareMicrosoftUpdate ServicesServerSetup. Если в значении присутствуют ##SSEE или ##WID, то база данных развёрнута на WID, а если вы видите в этом значении имя хоста или имя_сервераэкземпляр, то база данных развёрнута на SQL Server:

В нашем случае видим, что база WID:

Далее, в случае, если база данных развёрнута на WID нам необходимо использовать утилиту sqlcmd и планировщик задач Windows. Если SQL Server — можно запланировать выполнение сценария с помощью планов обслуживания (Maintenance Plans).

Windows Internal Database

Чтобы установить sqlcmd можно скачать и установить SQL Server Management Studio (SSMS) для версии вашей WID. Версию можно определить в лог-файле:

  • В Windows Server 2012 — C:WindowsWIDLog — открываем error.log, где в самом начале файла указана используемая версия SQL, для которой нам нужно скачать SSMS Express.
  • В Windows Server 2008 R2 и ниже — C:WindowsSYSMSISSEEMSSQL.2005MSSQLLOG — также открываем error.log и в самом начале файла смотрим версию.

Пытаюсь понять какая версия SQL у меня установлена:

Но ничего не понятно, и в файле ничего нет, хотя вроде должно быть.

В итоге устанавливаю консоль SQL Server Management Studio Express 2016 (она благополучно установилась):

Запускаем консоль  Management Studio с правами администратора.

Подключаемся к базе, указав следующее имя сервера:

  • в Windows Server 2008 / R2  — \.pipemssql$microsoft##sseesqlquery
  • в Windows Server 2012  / R2 — \.pipeMICROSOFT##WIDtsqlquery

Запустил пару скриптов из этого поста, но мне это никак не помогло:

http://zetslash.blogspot.com/2017/06/wsus.html

https://itblog.ru.net/ws/wsus/wsus-cleanup-powershell/

Еще раз запустил мастер очистки, оставил его на ночь и тут случилось чудо:

Самое печальное, что очистка прошла, а места больше на диске так и не стало.

Попробовал сделать через PowerShell:

[reflection.assembly]::LoadWithPartialName(«Microsoft.UpdateServices.Administration»)` | out-null

$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer();

$cleanupScope = new-object Microsoft.UpdateServices.Administration.CleanupScope;

$cleanupScope.DeclineSupersededUpdates = $true

$cleanupScope.DeclineExpiredUpdates = $true

$cleanupScope.CleanupObsoleteUpdates = $true

$cleanupScope.CompressUpdates = $true

$cleanupScope.CleanupObsoleteComputers = $true

$cleanupScope.CleanupUnneededContentFiles = $true

$cleanupManager = $wsus.GetCleanupManager();

$cleanupManager.PerformCleanup($cleanupScope);

Вероятно необходима реиндексация базы.

Попробовал реиндексировать вот таким скриптом:

USE SUSDB;

GO

SET NOCOUNT ON;

— Rebuild or reorganize indexes based on their fragmentation levels

DECLARE @work_to_do TABLE (

objectid int

, indexid int

, pagedensity float

, fragmentation float

, numrows int

)

DECLARE @objectid int;

DECLARE @indexid int;

DECLARE @schemaname nvarchar(130);

DECLARE @objectname nvarchar(130);

DECLARE @indexname nvarchar(130);

DECLARE @numrows int

DECLARE @density float;

DECLARE @fragmentation float;

DECLARE @command nvarchar(4000);

DECLARE @fillfactorset bit

DECLARE @numpages int

— Select indexes that need to be defragmented based on the following

— * Page density is low

— * External fragmentation is high in relation to index size

PRINT ‘Estimating fragmentation: Begin. ‘ + convert(nvarchar, getdate(), 121)

INSERT @work_to_do

SELECT

f.object_id

, index_id

, avg_page_space_used_in_percent

, avg_fragmentation_in_percent

, record_count

FROM

sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL , NULL, ‘SAMPLED’) AS f

WHERE

(f.avg_page_space_used_in_percent < 85.0 and f.avg_page_space_used_in_percent/100.0 * page_count < page_count — 1)

or (f.page_count > 50 and f.avg_fragmentation_in_percent > 15.0)

or (f.page_count > 10 and f.avg_fragmentation_in_percent > 80.0)

PRINT ‘Number of indexes to rebuild: ‘ + cast(@@ROWCOUNT as nvarchar(20))

PRINT ‘Estimating fragmentation: End. ‘ + convert(nvarchar, getdate(), 121)

SELECT @numpages = sum(ps.used_page_count)

FROM

@work_to_do AS fi

INNER JOIN sys.indexes AS i ON fi.objectid = i.object_id and fi.indexid = i.index_id

INNER JOIN sys.dm_db_partition_stats AS ps on i.object_id = ps.object_id and i.index_id = ps.index_id

— Declare the cursor for the list of indexes to be processed.

DECLARE curIndexes CURSOR FOR SELECT * FROM @work_to_do

— Open the cursor.

OPEN curIndexes

— Loop through the indexes

WHILE (1=1)

BEGIN

FETCH NEXT FROM curIndexes

INTO @objectid, @indexid, @density, @fragmentation, @numrows;

IF @@FETCH_STATUS < 0 BREAK;

SELECT

@objectname = QUOTENAME(o.name)

, @schemaname = QUOTENAME(s.name)

FROM

sys.objects AS o

INNER JOIN sys.schemas as s ON s.schema_id = o.schema_id

WHERE

o.object_id = @objectid;

SELECT

@indexname = QUOTENAME(name)

, @fillfactorset = CASE fill_factor WHEN 0 THEN 0 ELSE 1 END

FROM

sys.indexes

WHERE

object_id = @objectid AND index_id = @indexid;

IF ((@density BETWEEN 75.0 AND 85.0) AND @fillfactorset = 1) OR (@fragmentation < 30.0)

SET @command = N’ALTER INDEX ‘ + @indexname + N’ ON ‘ + @schemaname + N’.’ + @objectname + N’ REORGANIZE’;

ELSE IF @numrows >= 5000 AND @fillfactorset = 0

SET @command = N’ALTER INDEX ‘ + @indexname + N’ ON ‘ + @schemaname + N’.’ + @objectname + N’ REBUILD WITH (FILLFACTOR = 90)’;

ELSE

SET @command = N’ALTER INDEX ‘ + @indexname + N’ ON ‘ + @schemaname + N’.’ + @objectname + N’ REBUILD’;

PRINT convert(nvarchar, getdate(), 121) + N’ Executing: ‘ + @command;

EXEC (@command);

PRINT convert(nvarchar, getdate(), 121) + N’ Done.’;

END

— Close and deallocate the cursor.

CLOSE curIndexes;

DEALLOCATE curIndexes;

IF EXISTS (SELECT * FROM @work_to_do)

BEGIN

PRINT ‘Estimated number of pages in fragmented indexes: ‘ + cast(@numpages as nvarchar(20))

SELECT @numpages = @numpages — sum(ps.used_page_count)

FROM

@work_to_do AS fi

INNER JOIN sys.indexes AS i ON fi.objectid = i.object_id and fi.indexid = i.index_id

INNER JOIN sys.dm_db_partition_stats AS ps on i.object_id = ps.object_id and i.index_id = ps.index_id

PRINT ‘Estimated number of pages freed: ‘ + cast(@numpages as nvarchar(20))

END

GO

—Update all statistics

PRINT ‘Updating all statistics.’ + convert(nvarchar, getdate(), 121)

EXEC sp_updatestats

PRINT ‘Done updating statistics.’ + convert(nvarchar, getdate(), 121)

GO

Но  снова место на диске так и не появилось.

Попробовал еще один скрипт:

DECLARE IndexCursor CURSOR FOR

SELECT sys.indexes.name AS IndexName

,sys.objects.name AS TableName

FROM sys.indexes

INNER JOIN sys.objects

ON sys.indexes.object_id = sys.objects.object_id

WHERE sys.objects.type = ‘U’

AND sys.indexes.is_disabled = 0

AND NOT sys.indexes.name IS NULL

ORDER BY TableName ASC

,IndexName ASC;

DECLARE @IndexName nvarchar(max), @TableName nvarchar(max);

DECLARE @ExecSql nvarchar(max);

OPEN IndexCursor;

FETCH NEXT FROM IndexCursor INTO @IndexName, @TableName;

WHILE @@FETCH_STATUS = 0

BEGIN

PRINT @TableName + ‘.’ + @IndexName;

SET @ExecSql = ‘ALTER INDEX [‘ + @IndexName + ‘] ON [‘ + @TableName + ‘] REBUILD;’;

EXEC (@ExecSql);

FETCH NEXT FROM IndexCursor INTO @IndexName, @TableName;

END

CLOSE IndexCursor;

DEALLOCATE IndexCursor;

Но все это добавило лишь несколько мегабайт свободного места.

Скорее всего больше нечего реиндексировать.

ЭТО ВСЕ, ЧТО УДАЛОСЬ ПОЧЕРПНУТЬ  ПО ДАННОМУ ВОПРОСУ.

P.S.

Если правил на WSUS не много и можно их потом быстро настроить, то можно переставить WSUS с нуля или резать по живому, это уже кому как виднее и удобнее…

Попробуем резать по живому.

Как корректно и правильно «зачистить» папку WSUSContent я так не нашел, а именно она сейчас занимает все место на диске.

Останавливаем службу в IIS.

Удаляем все, что есть в папке WSUSContent, сразу видим, что диск опустел:

Запускаем службу

Нажимаем Синхронизировать сейчас, но ничего не происходит, так как в базе осталась информация что все обновления на месте, хотя по факту их уже нет.

Чтобы повторно установить WSUS с чистой базой данных, то есть предыдущей конфигурации:

Запустите Windows Powershell в качестве администратора и используйте следующие команды:

  • Uninstall-WindowsFeature -Name UpdateServices,Windows-Internal-Database -Restart
  • Повторите перезагрузку, удалите ВСЕ в C:WindowsWID(для Win 2012 r2).
  • Затем запустите следующую команду для повторной установки WSUS:

Install-WindowsFeature UpdateServices -Restart

Кажется, что удаление WSUS а также WID Database опция фактически не удаляет базу данных WID.

  • База данных WID можно удалить, удалив Windows Internal Database особенность.
  • Вам также потребуется вручную удалить файл C:windowsWIDDatasusdb.mdf перед повторной установкой все снова.

Надеемся WSUS 4.0 не за горами и версия без подобных «багов» все же появится в продакшине, хотя, как мне показалось, Microsoft почему-то уже давно «забил» на WSUS.

Всем хорошей работы!!!


13.02.2019 —


Posted by |
ms windows server 2016

Sorry, the comment form is closed at this time.

  • Remove From My Forums
  • Question

  • Hi there.  I’ve done a fair amount of research and attempted multiple suggestions from other threads about this issue but nothing has worked so I’m hoping someone can provide me with some information about the Database Error message I’m getting when
    running Server Cleanup Wizard in WSUS version 6.3.9600.18838.  I can run all the options except the first one and get this error when running it.  Help would really be appreciated.  Thanks.

    FIRST ERROR in EVENT LOG    

    The WSUS administration console was unable to connect to the WSUS Server Database.

    Verify that SQL server is running on the WSUS Server. If the problem persists, try restarting SQL.

    System.Data.SqlClient.SqlException — Execution Timeout Expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.

    SECOND ERROR in EVENT LOG

    The description for Event ID 0 from source WSusCertServer cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.

Answers

    • Marked as answer by

      Thursday, January 10, 2019 2:02 PM

  • Remove From My Forums
  • Question

  • Hi there.  I’ve done a fair amount of research and attempted multiple suggestions from other threads about this issue but nothing has worked so I’m hoping someone can provide me with some information about the Database Error message I’m getting when
    running Server Cleanup Wizard in WSUS version 6.3.9600.18838.  I can run all the options except the first one and get this error when running it.  Help would really be appreciated.  Thanks.

    FIRST ERROR in EVENT LOG    

    The WSUS administration console was unable to connect to the WSUS Server Database.

    Verify that SQL server is running on the WSUS Server. If the problem persists, try restarting SQL.

    System.Data.SqlClient.SqlException — Execution Timeout Expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.

    SECOND ERROR in EVENT LOG

    The description for Event ID 0 from source WSusCertServer cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.

Answers

    • Marked as answer by

      Thursday, January 10, 2019 2:02 PM

Windows Server 2012 R2 Datacenter Windows Server 2012 R2 Standard Windows Server 2012 R2 Essentials Windows Server 2012 R2 Foundation Еще…Меньше

Симптомы

Рассмотрим следующий сценарий:

  • Запустите Internet Information Services (IIS) на сервере под управлением Windows Server 2012 R2 cлужбы Windows Server Update Services (WSUS).

  • Запустить мастер очистки сервера в консоли администрирования WSUS для очистки просроченных и старые обновления версий.

В этом случае IIS обрабатывать сбои. Кроме того база данных WSUS не установлен правильно, и непригодным для использования обновления остаются в каталоге базы данных WSUS.

Решение

Чтобы устранить эту проблему, установите ноябрь 2014 накопительный пакет обновления для Windows RT 8.1, Windows 8.1 и Windows Server 2012 R2.

Статус

Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе «Относится к».

Дополнительные сведения

См. термины , которые корпорация Майкрософт использует для описания обновлений программного обеспечения.

Нужна дополнительная помощь?

The Server Cleanup Wizard is a part of the WSUS UI that you can use to manage your disk space. This wizard can do tasks such as removing unused updates, deleting unused computers, deleting unneeded updates, and much more to clean up a WSUS partition. This guide covers how to resolve and prevent the “Connection Error” you see when you start the wizard.

Contents

  1. Extend the disk space using Disk Management
  2. Move the WSUS partition to another partition
  3. How can you prevent the connection error?
  • Author
  • Recent Posts

Tim Buntrock is one of three enterprise administrators for the Active Directory service of a «global player» in the contact center business. He is a certified engineer for MCTS, MCITP, MCSA and MCPS.

After you start the WSUS Cleanup Wizard, the following error message displays:

WSUS Connection Error

WSUS Connection Error

The error occurs because the partition doesn´t have enough disk space to write the log file that the Cleanup Wizard generates. If you can extend the disk space, you can run the wizard without this error.

Extend the disk space using Disk Management

  1. Open the Computer Management console by opening Run and typing msc.
  2. Click Disk Manager and right-click the volume that hosts the WSUS partition.
  3. Click Extend Volume.
  4. Follow the instructions on the server.

Move the WSUS partition to another partition

Open the command prompt and type the following commands:

Cd C:Program FilesUpdate ServicesTools
wsusutil.exe movecontent W:WSUS W:WSUSMove.log

The last command will move the WSUS files to W: and create a log file with the name WSUSMove.log.

After a while, the content should be moved and your log file should look like this:

WSUS Move Log

WSUS Move Log

If you can´t extend the disk space or move the content, you can remove WSUSContent files, run the Cleanup Wizard, and then fetch the WSUSContent with the database.

  1. Stop the Update service by running the following command:
     net stop wuauserv
  2. Browse to the path WSUSDrive:WSUSWsusContent and remove enough updates for the wizard to be able to create a log file on the WSUS partition. In my case, the log file was about 2 GB.
  3. Start the Update service by running the following command:
     net start wuauserv
  4. Open the WSUS administration console, select Options, and then select Server Cleanup Wizard. Select all check boxes and then click Next.
  5. When the cleanup has finished, run the following commands:
    Cd C:Program FilesUpdate ServicesTools
    exe reset

The command wsusutil.exe reset tells WSUS to check each update in the database and verify that the content is present in the WSUSContent folder. If some updates aren´t located in the WSUSContent folder, WSUS will execute a BITS job to download the missing updates.

How do you know when the job is finished? You can verify this by checking the log file named SoftwareDistribution.log. It is located in C:Program FilesUpdate ServicesLogFiles.

If you open the log file using Notepad, you can search for Reset Agent Finished. You should find something like the following to indicate that the task has finished:

WsusService.14  ExecutionContext.runTryCode     State Machine Reset Agent Finished

Software Distribution Log

Software Distribution Log

How can you prevent the connection error?

You should extend the disk space of the WSUS partition as soon as possible. You should also create a scheduled task that cleans up your WSUSDrive. Here is how to do this:

  1. Save the following script to C:adminScriptsWSUSWSUSCleanup.ps1 on your server:
    # WSUSCleanup.ps1
    [reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")` 
     | out-null 
    $wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer(); 
    $cleanupScope = new-object Microsoft.UpdateServices.Administration.CleanupScope; 
    $cleanupScope.DeclineSupersededUpdates = $true        
    $cleanupScope.DeclineExpiredUpdates         = $true 
    $cleanupScope.CleanupObsoleteUpdates     = $true 
    $cleanupScope.CompressUpdates                  = $true 
    $cleanupScope.CleanupObsoleteComputers = $true 
    $cleanupScope.CleanupUnneededContentFiles = $true 
    $cleanupManager = $wsus.GetCleanupManager(); 
    $cleanupManager.PerformCleanup($cleanupScope); 
    # Script END
  1. Open the Task Scheduler on your server.
  2. Right-click Task Scheduler Library and select Create Basic Task.
    Task Scheduler 1
  3. Define a Name and Description and click Next.
    Task Scheduler 2
  4. Set the Trigger
    Task Scheduler 3
  5. In the Action section, select Start a Program and enter the following options:
    Program/script: powershell
    Add arguments (optional): -file «C:adminScriptsWSUSWSUSCleanup.ps1»Task Scheduler 4
  1. In the Finish section, select Open the Properties dialog for this task when I click Finish and then click Finish.
    Task Scheduler 5
  2. To run whether user is logged on or not, select that option on the General Then, click OK and supply your credentials.
    Task Scheduler 6

Posted by admin on 05.03.2013 in Без рубрики | ∞

Со временем каталог сервера WSUS (Windows Server Update Services) разрастается до неприличных размеров. В связи с переносом сервера захотелось его предварительно почистить. Штатные средства сервера WSUS содержат специальный мастер для очистки Server Cleanup Wizard, который находится в консоли сервера WSUS в раздел Options.

Запущенный только с одной верхней опцией «Unused updates and update revisions» мастер очистки проработал больше 10 часов. В результатах выдал:
Unused updates deleted: 4330
Unused update revisions deleted: 0

Тут же запустил снова в том же режиме. Работал 2 часа, выдал:
Unused updates deleted: 0
Unused update revisions deleted: 8280

Тогда запустил мастер очистки со всеми опциями. Отработало довольно быстро. Результат:
Unused updates deleted: 0
Unused update revisions deleted: 0
Computers that have not contacted the server deleted: 168
Disk space freed by deleting unused content files: 9038 MB
Declined expired updates: 0
Declined superseded updates: 0

В результате этой очистки каталог WSUS уменьшился на 5 %.

Взял тогда скрипт фирмы Экспресс АйТи, который они разработали специально для более полной очистки сервера WSUS. Запускается он в среде PowerShell, и работает только в системе, где установлена консоль администрирования WSUS. Поэтому скопировал скрипт на сам сервер WSUS. По умолчанию, скрипты PowerShell запускать запрещено. Для их выполнения нужно дополнительно «включить» одну из разрешающих политик.

На сервере WSUS запускаем с повышенными привилегиями командную строку и в ней выполняем команду:

powershell

Включаем политику для запуска скриптов:

 Set-ExecutionPolicy Bypass

Переходим в каталог с файлом скрипта и запускаем его, указывая в параметрах имя сервера WSUS и номер порта:

 .WsusCleanup.ps1 wsus 8530

Скрипт работал около 3 минут, освободив еще 15 процентов от оставшегося объема.

Очистка WSUS

.

Метки: WSUS

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Wsus ошибка подключения сброс серверного узла
  • Wsus ошибка windows installer