Automatic Update Clients with Windows Server Update Services do not appear in WSUS Console
One of the frequent questions in WSUS News Groups is Automatic Update clients (WUA) do not appear in WSUSAdmin or you see duplicate computer names in WSUSAdmin console. This is TRUE, if the XP Client was setup using an Image (ghost) and has duplicate SusClientId.
To troubleshoot this problem, you have to delete SusClientId. The batch script below will delete the required registry values.
Note this has to be done only once.
============================================
@echo off
Echo Save the batch file "AU_Clean_SID.cmd". This batch file will do the following:
Echo 1. Stop the wuauserv service
Echo 2. Delete the AccountDomainSid registry key (if it exists)
Echo 3. Delete the PingID registry key (if it exists)
Echo 4. Delete the SusClientId registry key (if it exists)
Echo 5. Restart the wuauserv service
Echo 6. Resets the Authorization Cookie
Pause
@echo on
net stop wuauserv
REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v AccountDomainSid /f
REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v PingID /f
REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v SusClientId /f
net start wuauserv
wuauclt /resetauthorization /detectnow
Pause
============================================
These registry entries will be re-created at the next detection cycle.
If you have multiple computers in Active Directory Domain (imaged / ghosted using Disk Imaging software with duplicate SID) with this behavior, then you can add a simple computer startup script posted by Scripting Guru Torgeir Bakken (MVP) that runs as part of the boot up process (before the user logs in) under the system context and has admin rights.
Torgeir Bakken (MVP): The VBScript below will only delete the values once even if the script is run multiple times, by setting a registry marker.
'--------------------8<----------------------
Set oShell = CreateObject("WScript.Shell")
sRegKey = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate"
' suppress error in case values does not exist
On Error Resume Next
' check for marker
sIDDeleted = oShell.RegRead( sRegKey & "\IDDeleted")
' to be sure values is only deleted once, test on marker
If sIDDeleted <> "yes" Then
' delete values
oShell.RegDelete sRegKey & "\AccountDomainSid"
oShell.RegDelete sRegKey & "\PingID"
oShell.RegDelete sRegKey & "\SusClientId"
' Stop and start the Automatic updates service
oShell.Run "%SystemRoot%\system32\net.exe stop wuauserv", 0, True
oShell.Run "%SystemRoot%\system32\net.exe start wuauserv", 0, True
' Run wuauclt.exe with resetauthorization
sCmd = "%SystemRoot%\system32\wuauclt.exe /resetauthorization /detectnow"
oShell.Run sCmd, 0, True
' create marker
oShell.RegWrite sRegKey & "\IDDeleted", "yes"
End If
'--------------------8<----------------------