Windows Update e errore 80244021

Spesso possono accadere errori legati all’esecuzione di Windows Update su macchine che devono utilizzare proxy per accedere a Internet.

image

Nel mio caso il computer aveva le seguenti caratteristiche:

  • OS WS2008R2Sp1 appena installato
  • In workgroup
  • Proxy configurato manualmente per utilizzare un server TMG 2010 su cui non vi sono regole di accesso anonimo agli URL di Windows Update, ma solo regole che ne consentono un accesso Autenticato.

Analizzando il file %Windir%\windowsupdate.log la causa dell’errore è appunto la mancata connessione al sito di Microsoft:

AU Triggering AU detection through DetectNow API
AU Triggering Online detection (interactive)
AU #############
AU ## START ## AU: Search for updates
AU #########
AU <<## SUBMITTED ## AU: Search for updates [CallId = {E8F5EF71-CD1C-487A-983A-89EA3F1D8332}]
Agent *************
Agent ** START ** Agent: Finding updates [CallerId = AutomaticUpdates]
Agent *********
Agent * Online = Yes; Ignore download priority = No
Agent * Criteria = “IsInstalled=0 and DeploymentAction=’Installation’ or IsPresent=1 and DeploymentAction=’Uninstallation’ or IsInstalled=1 and DeploymentAction=’Installation’ and RebootRequired=1 or IsInstalled=0 and DeploymentAction=’Uninstallation’ and RebootRequired=1”
Agent * ServiceID = {9482F4B4-E343-43B6-B170-9A65BC822C77} Windows Update
Agent * Search Scope = {Machine}
Setup Checking for agent SelfUpdate
Setup Client version: Core: 7.5.7601.17514 Aux: 7.5.7601.17514
Misc WARNING: WinHttp: SendRequestToServerForFileInformation failed with 0x801901f6
Misc WARNING: WinHttp: ShouldFileBeDownloaded failed with 0x801901f6
Misc WARNING: DownloadFileInternal failed for http://download.windowsupdate.com/v9/windowsupdate/redir/muv4wuredir.cab: error 0x801901f6
Misc WARNING: WinHttp: SendRequestToServerForFileInformation failed with 0x801901f6
Misc WARNING: WinHttp: ShouldFileBeDownloaded failed with 0x801901f6
Misc WARNING: DownloadFileInternal failed for http://download.microsoft.com/v9/windowsupdate/redir/muv4wuredir.cab: error 0x801901f6
Misc WARNING: WinHttp: SendRequestToServerForFileInformation failed with 0x801901f6
Misc WARNING: WinHttp: ShouldFileBeDownloaded failed with 0x801901f6
Misc WARNING: DownloadFileInternal failed for
http://www.update.microsoft.com/v9/windowsupdate/redir/muv4wuredir.cab: error 0x801901f6
Setup WARNING: SelfUpdate check failed to download package information, error = 0x80244021
Setup FATAL: SelfUpdate check failed, err = 0x80244021
Agent * WARNING: Skipping scan, self-update check returned 0x80244021
Agent * WARNING: Exit code = 0x80244021
Agent *********
Agent ** END ** Agent: Finding updates [CallerId = AutomaticUpdates]
Agent *************
Agent WARNING: WU client failed Searching for update with error 0x80244021
AU >>## RESUMED ## AU: Search for updates [CallId = {E8F5EF71-CD1C-487A-983A-89EA3F1D8332}]
AU # WARNING: Search callback failed, result = 0x80244021
AU # WARNING: Failed to find updates with error code 80244021
AU #########
AU ## END ## AU: Search for updates [CallId = {E8F5EF71-CD1C-487A-983A-89EA3F1D8332}]
AU #############
AU Successfully wrote event for AU health state:0
AU Successfully wrote event for AU health state:0
Report REPORT EVENT: {B548FFE6-7B02-45AF-BA71-FEDEAF0940D8} 2012-04-06 08:06:35:906+0200 1 148 101 {D67661EB-2423-451D-BF5D-13199E37DF28} 1 80244021 SelfUpdate Failure Software Synchronization Windows Update Client failed to detect with error 0x80244021.
Report CWERReporter::HandleEvents – WER report upload completed with status 0x8
Report WER Report sent: 7.5.7601.17514 0x80244021 D67661EB-2423-451D-BF5D-13199E37DF28 Scan 101 Unmanaged
Report CWERReporter finishing event handling. (00000000)

Il motivo è legato al fatto che come detto precedentemente non viene eseguita l’autenticazione al proxy come indicato nella seguente You experience problems when you access the Windows Update Version 6 Web site through a server that is running ISA Server:

Scenario 2

When you visit the Windows Update V6 Web site, you are prompted to select Express Install or Custom Install. When you select either of these options, Windows Update may fail, and you may receive an error message that is similar to the following:

Windows Update has encountered an error and cannot display the requested page.

Additionally, you may see “[Error number: 0x80244021]” or “[Error number: 0x80244019]” or “[Error number: 0x80244018]” in the upper-right corner of the Web page.

To work around the problem that is described in Scenario 2, give anonymous access to the relevant Windows Update sites

Una curiosità se esiste una su ISA o TMG un’Access Rule per i siti di Windows Update per l’utente Administrator di dominio e sul computer non in dominio l’Administrator locale ha la stessa password dell’account Administrator di dominio quando di tenta di eseguire Windows Update verrà richiesta l’autenticazione e specificando le credenziali dell’Administrator di dominio la connessione verrà eseguita con successo.

image

La problematica si presenta anche su server a dominio eseguendo Windows Update tramite l’account Administrator locale con password diversa dalla password dell’account Administrator di dominio.

Per riuscire ad eseguire Windows Update negli scenari in cui l’autenticazione al proxy fallisce le soluzioni possibili sono due.

La prima soluzione è quella suggerita all’interno della KB ovvero consentire l’accesso anonimo agli URL necessari per utilizzare Windows Update. Con ISA o TMG questo significa però o consentire l’accesso anonimo a tutti gli host interni a Windows Update (soluzione a mio avviso da evitare) oppure gestire una rule di accesso che consenta di accedere a Windows Update solo ai server che necessitano dell’acceso anonimo. Anche quest’ultima configurazione non è però ottimale in quanto comporta la manutenzione della rule ogni volta che viene messo in produzione un server non in dominio, inoltre occorre impostare un IP fisso su tali computer e nel caso l’IP venga modificato occorre intervenire sulla rule di accesso.

La seconda soluzione, a mio avviso più duttile, è quella di creare un account di dominio (xes usrupdates) a cui viene consentito l’accesso agli URL di Windows Update e impostare una password di rete sul server specificando le credenziali di tale utente quando occorre accedere al proxy specificato nelle opzioni di connessioni di Internet Explorer.

image

In questo modo il computer non dovrà per forza un IP fisso e non sarà necessario eseguire alcuna manutenzione sull’Access Rule nel caso cambino le impostazioni di rete sul server o nel caso vengano messi in produzione altri server fuori dominio che necessitano di accedere a Windows Update.

image

Io di solito nell’Access Rule consento l’accesso oltre all’utente per gli aggiornamenti (usrupdates) anche all’amministratore di dominio perché in questo modo l’accesso a Windows Update da parte di computer in dominio sarà trasparente se vengono utilizzate le credenziali dell’amministratore di dominio. Ciò può tornare utile ad esempio su computer client quando occorre provare ad installare immediatamente un aggiornamento senza aspettare i tempi di deploy di WSUS oppure quando l’aggiornamento non viene distribuito dalle policy impostate su WSUS e occorre installarlo su pochi Computer.

Per ulteriori informazioni si vedano anche le seguenti KB: