WSUS 3.0 SP2, proxy i błędy hr=0x801901f7, 0x80244022

Często zdarza się, że w sieci, którą administrujemy zajdzie potrzeba zainstalowania serwera WSUS (Windows Update Services). Jednocześnie, sieć ta posiada na styku z Internetem skonfigurowany serwer proxy. W tym momencie może powstać problem na linii komunikacji komputerów z serwerem WSUS a brzegowym proxy.
Najpierw trochę teorii o tym jak działa usługa Windows Update. Wycinek pochodzi z KB Microsoftu: http://support.microsoft.com/kb/900935
„(…)
Do wyszukiwania dostępnych aktualizacji program kliencki usługi Microsoft Windows Update wymaga usług Microsoft Windows HTTP Services (WinHTTP). Ponadto, w celu pobrania tych aktualizacji program kliencki usługi Windows Update korzysta z Usługi inteligentnego transferu w tle (BITS). Usługi Microsoft Windows HTTP Services oraz BITS działają niezależnie od programu Microsoft Internet Explorer. Obie te usługi muszą potrafić wykryć serwer lub serwery proxy dostępne w konkretnym środowisku.
Usługa Aktualizacje automatyczne nie wymaga współdziałania użytkownika, ponieważ działa w kontekście lokalnego konta systemowego. Usługa Aktualizacje automatyczne nie ma praw dostępu do specyficznych dla użytkownika ustawień serwera proxy, które mogą być konfigurowane w programie Internet Explorer. Usługa Aktualizacje automatyczne może jedynie wykrywać serwer proxy przy użyciu jednej z następujących metod:

  • Serwer proxy jest konfigurowany ręcznie za pomocą narzędzia Proxycfg.exe.
  • Ustawienia usługi automatycznego wykrywania serwera proxy w sieci (WPAD, Web Proxy Auto Detect) są konfigurowane w jednej z następujących lokalizacji w środowisku sieciowym:
    • Opcje systemu DNS (Domain Name System)
    • Opcje protokołu DHCP (Dynamic Host Configuration Protocol) (…)

Czyli jednym słowem ustawienia proxy (włącznie z wykluczeniami) skonfigurowane w IE nijak się nie maja do ustawień usług WinHTTP i BITS, od których to zależy poprawne działanie klienta usługi Windows Update.
(…) ”

Ok, mamy proxy, mamy zainstalowany serwer WSUS oraz politykę wymuszającą używanie tego serwera a komputery klienckie nie mogą się do niego dostać.

Opis działania właściwy dla stacji klienckiej opartej o system MS Windows XP Professional.

Zobaczmy jakie błędy generowane są na stacji klienckiej. Zajrzymy do:

  • Dziennika zdarzeń
  • pliku WindowsUpdate.log
  • wyników działania programu WSUS Client Update Tool
  • ustawień usługi WinHTTP

1. Dziennik zdarzeń > System

Typ zdarzenia: Błąd
Źródło zdarzenia: Windows Update Agent
Kategoria zdarzenia: Synchronizacja oprogramowania
Identyfikator zdarzenia: 16
Data: 2011-11-06
Godzina: 11:21:05
Użytkownik: Brak
Komputer: <nazwa_komputera>
Opis:
Nie można nawiązać połączenia: System Windows nie może połączyć się z usługą aktualizacji automatycznych i dlatego nie można pobrać i zainstalować aktualizacji zgodnie z ustalonym harmonogramem. System Windows będzie kontynuował próby ustanowienia połączenia.

Aby znaleźć więcej informacji, zobacz http://go.microsoft.com/fwlink/events.asp w Centrum pomocy i obsługi technicznej.
Dane:
0000: 57 69 6e 33 32 48 52 65 Win32HRe
0008: 73 75 6c 74 3d 30 78 30 sult=0x0
0010: 30 30 30 30 30 30 30 20 0000000
0018: 55 70 64 61 74 65 49 44 UpdateID
0020: 3d 7b 30 30 30 30 30 30 ={000000
0028: 30 30 2d 30 30 30 30 2d 00-0000-
0030: 30 30 30 30 2d 30 30 30 0000-000
0038: 30 2d 30 30 30 30 30 30 0-000000
0040: 30 30 30 30 30 30 7d 20 000000}
0048: 52 65 76 69 73 69 6f 6e Revision
0050: 4e 75 6d 62 65 72 3d 30 Number=0
0058: 20 00

2. Fragment pliku C:\%windir%\WindowsUpdate.log

2011-11-08 09:51:56:011 1112 ea8 Report WARNING: Reporter failed to upload events with hr = 80244022.
2011-11-08 10:00:10:009 1112 3c0 AU Forced install timer expired for scheduled install
2011-11-08 10:00:10:009 1112 3c0 AU UpdateDownloadProperties: 0 download(s) are still in progress.
2011-11-08 10:00:10:009 1112 3c0 AU Setting AU scheduled install time to 2011-11-09 09:00:00
2011-11-08 10:10:32:528 1112 210 PT WARNING: GetConfig failure, error = 0x80244022, soap client error = 10, soap error code = 0, HTTP status code = 503
2011-11-08 10:10:32:528 1112 210 PT WARNING: PTError: 0x80244022
2011-11-08 10:10:32:528 1112 210 PT WARNING: GetConfig_WithRecovery failed: 0x80244022
2011-11-08 10:10:32:528 1112 210 PT WARNING: RefreshConfig failed: 0x80244022
2011-11-08 10:10:32:528 1112 210 PT WARNING: RefreshPTState failed: 0x80244022
2011-11-08 10:10:32:528 1112 210 PT WARNING: PTError: 0x80244022

3. Wynik działania programu diagnostycznego WSUS Client Diagnostic Tool

WSUS Client Diagnostics Tool
Checking Machine State
Checking for admin rights to run tool . . . . . . . . . PASS
Automatic Updates Service is running. . . . . . . . . . PASS
Background Intelligent Transfer Service is running. . . PASS
Wuaueng.dll version 7.4.7600.226. . . . . . . . . . . . PASS
This version is WSUS 2.0
Checking AU Settings
AU Option is 4: Scheduled Install . . . . . . . . . . . PASS
Option is from Policy settings
Checking Proxy Configuration
Checking for winhttp local machine Proxy settings . . . PASS
Winhttp local machine access type
<Direct Connection>
Winhttp local machine Proxy. . . . . . . . . . NONE
Winhttp local machine ProxyBypass. . . . . . . NONE
Checking User IE Proxy settings . . . . . . . . . . . . PASS
User IE Proxy
proxy.domena.pl:8080
User IE ProxyByPass
wsus.domena.pl;<local>
User IE AutoConfig URL Proxy . . . . . . . . . NONE
User IE AutoDetect
AutoDetect not in use
Checking Connection to WSUS/SUS Server
WUServer = http://wsus.domena.pl/
WUStatusServer = http://wsus.domena.pl/
UseWuServer is enabled. . . . . . . . . . . . . . . . . PASS
VerifyWUServerURL() failed with hr=0x801901f7
No Error description could be found

4. Konfiguracja WinHTTP

Microsoft Windows XP [Wersja 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\>proxycfg
Narzędzie konfiguracji domyślnego serwera proxy WinHTTP firmy Microsoft (R)
Copyright (c) Microsoft Corporation. Wszelkie prawa zastrzeżone.
Bieżące ustawienia serwera proxy WinHTTP w kluczu:
HKEY_LOCAL_MACHINE\
SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\
WinHttpSettings :
Dostęp bezpośredni (nie serwer proxy).

Widzimy, że klient usługi WinHTTP nie ma ustawionego żadnego proxy i powinien łączyć się z Windows Update (czy serwerem WSUS) bezpośrednio czego nie robi generując powyższe błędy. Częstą przyczyna takiego stanu rzeczy (klient kieruje zapytania do serwera proxy pomimo ustawionego dostępu bezpośredniego) jest podanie nazwy zasobu (serwera WSUS) w formie pełnej kwalifikowanej nazwy domenowej (FQDN). Aby ustawić proxy, a właściwie jego wykluczenia dla WinHTTP pomocą przychodzi nam narzędzie proxycfg. Użycie z parametrem proxycfg -u importuje ustawienia proxy z bieżących ustawień Internet Explorera.

C:\>proxycfg -u
Narzędzie konfiguracji domyślnego serwera proxy WinHTTP firmy Microsoft (R)
Copyright (c) Microsoft Corporation. Wszelkie prawa zastrzeżone.
Zaktualizowane ustawienia serwera proxy
Bieżące ustawienia serwera proxy WinHTTP w kluczu:
HKEY_LOCAL_MACHINE\
SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\
WinHttpSettings :
Serwery proxy: proxy.domena.pl:8080
List pomijania : wsus.domena.pl;

Zamiast importu konfigurację WinHTTP możemy zrobić ręcznie za pomocą proxycfg-p. Jeżeli chcielibyśmy przywrócić dostęp bezpośredni wykonujemy polecenie proxycfg -d.
W większej sieci proponuje jednak skorzystać z obiektów zasad grupy GPO.

Dodaj komentarz