Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Question
Thursday, March 17, 2011 12:39 PM
Hi,
I'm running out of spaces in WSUS server, Updates have occupied 60 GB of space and now 120 mb disk space is available. I have run the Server clean up wizard but cann't recover. I have also run "WsusDebugTool.exe /tool:purgeunneededfiles" but finish with error ""Could not complete purge content as reset agent did not complete!"". Can anyone suggest how to delete declined updates file from the server.
Raju
All replies (9)
Friday, March 18, 2011 4:43 AM ✅Answered | 2 votes
I'm running out of spaces in WSUS server, Updates have occupied 60 GB of space
That's about ten times the actual amount of disk space required by a well-maintained WSUS server.
I have run the Server clean up wizard but cann't recover.
Since the SCW only deletes update files for DECLINED updates, and the SCW only declines updates that are NOT APPROVED -- I would venture a guess that you have dozens, if not hundreds, of Still Approved but Superseded updates, thus preventing the SCW from performing the job it was designed to do.
Can anyone suggest how to delete declined updates file from the server.
First they have to be declined. Second, if they were never approved, those aren't the updates causing your headache, because never-approved updates have no content files. Rather you need to focus on the updates that are NOT declined that should be declined.
- Go to the All Updates view.
- Filter on Any Except Declined.
- Enable the Supersedence column.
- Sort by the Installed/NotApplicable column.
- For any update that is reported as Installed/NotApplicable=100% and is superseded -- DECLINE it!
Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
Principal/CTO, Onsite Technology Solutions, Houston, Texas
Microsoft MVP - Software Distribution (2005-2011)
My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
My Blog: http://onsitechsolutions.spaces.live.com
Friday, March 18, 2011 7:21 AM | 1 vote
Thanks for your response gravin. I have checked the steps you mentioned
- Go to the All Updates view.
- Filter on Any Except Declined.
- Enable the Supersedence column.
- Sort by the Installed/NotApplicable column.
- For any update that is reported as Installed/NotApplicable=100% and is superseded -- DECLINE it!
But its not showing any updates to decline.
Raju
Friday, March 18, 2011 5:54 PM
But its not showing any updates to decline.
Maybe there aren't any!
- What languages do you have configured for synchronization?
- What products do you have configured for synchronization?
- Have you enabled the Express Installation Files option?
- Have you disabled the "Download only approved updates" option?
- How many updates, TOTAL, are on your WSUS server?
- How many APPROVED updates are on your WSUS server?
Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
Principal/CTO, Onsite Technology Solutions, Houston, Texas
Microsoft MVP - Software Distribution (2005-2011)
My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
My Blog: http://onsitechsolutions.spaces.live.com
Monday, March 21, 2011 8:39 AM
Hi Lawrence,
Thanks for your response, pls find below the answer in bold of your quires.
- What languages do you have configured for synchronization? English
- What products do you have configured for synchronization? Office all version, XP, Vista, Windows 7, Windows 2003, Windows 2008
- Have you enabled the Express Installation Files option? NO
- Have you disabled the "Download only approved updates" option? NO
- How many updates, TOTAL, are on your WSUS server? 3563
- How many APPROVED updates are on your WSUS server? 1151
Monday, March 21, 2011 4:09 PM
How many APPROVED updates are on your WSUS server? 1151
This number is significantly higher than is likely necessary.
If the above procedure is not identifying any superseded updates as Installed/NotApplicable=100%, then it may be that first you need to focus on getting your machines fully patched, so that those superseded updates can be reported as Installed/NotApplicable.
Also, do you actually have all four versions of Office installed in your environment: XP, 2003, 2007, 2010 ???
Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
Principal/CTO, Onsite Technology Solutions, Houston, Texas
Microsoft MVP - Software Distribution (2005-2011)
My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
My Blog: http://onsitechsolutions.spaces.live.com
Monday, April 25, 2011 5:11 PM
Hi,
How Do I Enable the Supersedence column in Windows 2008 WSUS?
Thanks,
Mike
Tuesday, April 26, 2011 9:07 PM | 1 vote
How Do I Enable the Supersedence column in Windows 2008 WSUS?
Right click on the column header and select the desired column.Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
Principal/CTO, Onsite Technology Solutions, Houston, Texas
Microsoft MVP - Software Distribution (2005-2011)
My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
My Blog: http://onsitechsolutions.spaces.live.com
Thursday, November 29, 2012 3:20 PM
Here's a shortcut (in powershell) that I've used successfully:
[reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration") | Out-Null
# Run From LocalHost
$updateServer = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer()
$updateServer.GetUpdates() | ForEach-Object {
if (($_.IsSuperseded -eq $true) -and ($_.IsApproved -eq $true)) {
if ($_.IsDeclined -eq $false) {
$_.Decline()
$title = $_.Title
Write-Host "Declining update: $title"
}
}
}
$cleanupManager = $updateServer.GetCleanupManager()
$scope = New-Object "Microsoft.UpdateServices.Administration.CleanupScope"
$scope.CleanupUnneededContentFiles = $true
$result = $cleanupManager.PerformCleanup($scope)
$space = $result.DiskSpaceFreed
Write-Host "Freed $space bytes."
Thursday, November 29, 2012 11:05 PM
Here's a shortcut (in powershell) that I've used successfully:
[reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration") | Out-Null
# Run From LocalHost
$updateServer = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer()$updateServer.GetUpdates() | ForEach-Object {
if (($_.IsSuperseded -eq $true) -and ($_.IsApproved -eq $true)) {
if ($_.IsDeclined -eq $false) {
$_.Decline()
$title = $_.Title
Write-Host "Declining update: $title"
}
}
}$cleanupManager = $updateServer.GetCleanupManager()
$scope = New-Object "Microsoft.UpdateServices.Administration.CleanupScope"
$scope.CleanupUnneededContentFiles = $true$result = $cleanupManager.PerformCleanup($scope)
$space = $result.DiskSpaceFreed
Write-Host "Freed $space bytes."
A good script, but missing a very critical component. It does not validate that the update is 100% Installed/NotApplicable.
A superseded update that is not 100% Installed/NotApplicable should be investigated to determine why the superseded update is still reported as needed by a client system. The two most likely causes are that the superseding update has not yet been approved (certainly not installed!), or that the update has failed to install. Until the superseding update is reported as installed, a superseded update will continue to be reported as Needed. Declining the update will destroy the state data, so these updates must be identified prior to declining them.
It also has a redudant logic flaw, resulting in an unnecessary nested IF statement.
If IsApproved is TRUE, then it is impossible for IsDeclined to be FALSE, so the inner IF statement is wholly unnecessary. (The method Decline() strips all of the approvals from the update.) This code block will produce exactly the same results:
$updateServer.GetUpdates() | ForEach-Object {
if (($_.IsSuperseded -eq $true) -and ($_.IsApproved -eq $true)) {
$_.Decline()
$title = $_.Title
Write-Host "Declining update: $title"
}
}
Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
SolarWinds Head Geek
Microsoft MVP - Software Distribution (2005-2012)
My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin