bookmark_borderWSUS i error 0x80004002

przez przypadek zauważyłem, że jeden z kompów nie raportował do WSUS’a od ponad 2 tygodni… zajrzałem do %windir%\windowsupdate.log i oto co ukazało się moim oczom:

FATAL: Failed to get session from datastore, error = 0x80004002
FATAL: Failed to Unserialize from data store, error = 0x80004002
# WARNING: Exit code = 0x80004002

########### AU: Uninitializing Automatic Updates ###########
WARNING: InitAUComponents Failed, will restart AU in 30 mins, error = 0x80004002

FATAL: DM:CAgentDownloadManager::CheckAllCallDownloadStates: GetSession failed with 0x80004002.
FATAL: DM:CAgentDownloadManager::PurgeExpiredFiles: GetSession failed with 0x80004002.
FATAL: DM:CAgentDownloadManager::PurgeExpiredUpdates: GetSession failed with 0x80004002.

jednym słowem jeden wielki fatal i koniec świata… standardowo/rutynowo zapodałem:

# Net stop wuauserv
# usunąłem „%Windir%\SoftwareDistribution”
# Net start wuauserv

rezultat – dupa – efekt ten sam, błedy te same… jak nie zadziałało delikatnie, trzeba było wybrać opcję liścia na pysk, a więc ze strony Microsoftu pobieramy WindowsUpdateAgent30-x86.exe i odpalamy:

# WindowsUpdateAgent30-x86.exe /wuforce

skutek – ponowna instalacja klienta Aktualizacji Automatycznych… szybkie sprawdzenie loga i bingo – wszystko działa… gdyby jednak nadal pojawiały się błedy, pozostaje opcja trzecia – z kopa w ryj. w tym przypadku pobieramy Dial-a-fix i za jego pomocą naprawiamy wszystko co związane z usługą Aktualizacji Automatycznych… swoją drogą polecam ten program, wielokrotnie zaoszczędził mi masę czasu…

bookmark_borderStatus code: 0xC000006D

od jakiegoś czasu na kontrolerze domeny zaczęły pojawiać się wpisy:

Event Type: Failure Audit
Event Source: Security
Event Category: Logon/Logoff
Event ID: 537
Date: 2009-07-14
Time: 14:55:46
User: NT AUTHORITY\SYSTEM
Computer: XXXXXXXX
Description:
Logon Failure:
Reason: An error occurred during logon
User Name:
Domain:
Logon Type: 3
Logon Process: Kerberos
Authentication Package: Kerberos
Workstation Name: –
Status code: 0xC000006D
Substatus code: 0xC0000133
Caller User Name: –
Caller Domain: –
Caller Logon ID: –
Caller Process ID: –
Transited Services: –
Source Network Address: 10.X.X.X
Source Port: 0

trochę mało informacji – podany jest tylko adres IP klienta powodującego błąd. Jak zawsze zaczęło się rycie po necie i w rezultacie dokopałem się do informacji, że Event ID: 537 to po prostu “The attempted logon is invalid. This is either due to a bad username or authentication information” – Ameryki nie odkryli…

Do zawężenia powodu można użyć informacji o Substatus code: 0xC0000133…
Bingo – na stronach MSDN objaśnione są wszystkie kody NTSTATUS a 0xC0000133 oznacza “The time at the primary domain controller is different from the time at the backup domain controller or member server by too large amount.”

Okazało się, że klient był do tyłu o 10 min względem kontrolera domeny…

bookmark_borderMicrosoft Security Essentials

mse

od jakiegoś czasu różne serwisy trąbią o nowej bezpłatnej usłudze Microsoftu nazwanej Microsoft Security Essentials. ma to być następca płatnej usługi Live OneCare, która to świadczona będzie to końca września 2009…
mam tu na myśli portale takie jak idg.pl, pcworld.pl, dobreprogramy.pl i pewnie wiele innych. szkoda tylko, że aplikacja jest w fazie beta i nie jest dostępna dla nikogo poza USA, Izraelem, Chinami i Brazylią…

ot – taki mało istotny szczegół – nie ma to jak rzetelna informacja…

bookmark_borderWSUS – Dystrybucja Internet Explorer 8

Helou. Dzisiaj zabrałem się za testową dystrybucję Internet Explorer’a w wersji 8 wykorzystując do tego Windows Server Update Services [WSUS].

Generalnie wybierając sposób hurtowej instalacji IE 8 do wyboru mamy:

# Microsoft Systems Management Software – do wyboru SMS i SCCM – nie mam dostępu do żadnego z tych rozwiązań więc w moim przypadku odpadają
# Group Policy – czyste lenistwo sprawiło, że moje zainteresowanie robieniem paczek *.msi sięgnęło dna i z tej opcji także zrezygnowałem
# Windows Update – mało wygodne rozwiązanie – wymaga interakcji użytkownika ze stroną WU. w moim scenariuszu użytkownik nie ma możliwości instalacji uaktualnień z witryny Windows Update – rezultat – opcja numer 3 także odpada
# udział sieciowy z instalką – prawie jak wyżej z tą różnicą, że użytkownik nie może instalować oprogramowania
# Windows Server Update Services – potocznie znane pod skrótem WSUS. w moim przypadku działa i sprawdza się w swojej roli więc po co kombinować jak można wykorzystać co się ma…

No to do dzieła:

1. Po zalogowaniu się na testowy SERWER_WSUS odpalamy nakładkę odpowiedzialną za konfigurację WSUS’a
2. Po prawej stronię powinno znajdować się okno „Actions”. Nas interesuje opcja „Import Updates…”.

WSUS-Actions

3. Po jej wskazaniu otworzy się strona po polsku zwana Wykazem Usług Microsoft Update.
Ważne: za pierwszym razem należy zainstalować kontrolkę ActiveX aby skorzystać ze strony.

WSUS-strona

4. Jak można się domyslić – w polu wyszukiwania klepiemy „Internet Explorer 8” i na liście wyników szukamy pozycji „Internet Explorer 8 dla systemu Windows XP” jeśli interesuje nas tylko jedna wersja językowa. W przeciwnym wypadku wybieramy „Program Internet Explorer 8 dla systemu Windows XP z pakietem Language Interface Pack”. Po prawej korzystamy z opcji Dodaj i przechodzimy do koszyka.

WSUS-koszyk

5. Sprawdzamy, czy opcja „Importuj bezpośrednio do programu Windows Server Update Services” jest zaznaczona i wybieramy Importuj.
Ważne: W tym momencie pliki instalacyjne nie są pobierane na serwer. Operacja ta skutkuje tylko pojawieniem się pozycji „Internet Explorer 8” na liście aktualizacji dostępnych do pobrania w konsoli zarządzania aktualizacjami/poprawkami. Dopiero przypisanie programu do dowolnej grupy komputerów i zezwolenie na instalację spowoduje pobranie wymaganych plików.
6. W dziale „Update Rollups” szukamy naszego Internet Explorer 8 i przypisujemy do dowolnej grupy komputerów:

WSUS-akceptacja

7. W tym momencie dopiero WSUS pobierze pliki potrzebne do instalacji i rozpocznie jej proces.

bookmark_borderProblemy przy instalacji Internet Explorer 7

wpadł mi dzisiaj w ręce komp po potraktowaniu „recovery CD” – system przywrócony do SP2 i IE6. po zainstalowaniu SP3 i wszystkich łat z WSUS’a okazało się, że Internet Explorer 7 nie chce się zainstalować…
po wielokrotnych próbach proces instalacji dochodził do połowy po czym kończył się nieudanie i trzeba było uruchomić komputer od nowa. zaktualizowałem Windows Installer do wersji 4.5 – żadnej poprawy…

w C:\WINDOWS\IE7.log widniały poniższe wpisy:

0.250: ================================
0.250: 2009/04/14 14:07:25.531 (local)
0.250: c:\3bfd1cbc51d8e7b72953d7d0\update\update.exe (version 6.2.29.0)
0.281: Hotfix started with following command line: /quiet /norestart /er /log:C:\WINDOWS
0.281: IECUSTOM: Scanning for proper registry permissions…
1.016: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}
1.016: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}\ProxyStubClsid
1.016: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}
1.016: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}\ProxyStubClsid32
1.016: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}
1.016: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}\TypeLib
1.016: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}
1.016: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}\TypeLib
1.016: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}
1.781: IECUSTOM: Scanning for proper registry permissions…
2.031: IECUSTOM: Scanning for proper registry permissions…
2.437: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}
2.578: IECUSTOM: Backing up registry permissions…
2.578: IECUSTOM: Finished backing up registry permissions…
2.578: IECUSTOM: Setting new registry permissions…
4.953: IECUSTOM: Unable to clear DACLs HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}
4.953: IECUSTOM: Finished setting new registry permissions…
4.953: IECUSTOM: An error occured verifying registry permissions. ERROR: 0x800706fc
4.953: DoInstallation: CustomizeCall Failed: 0x3f5
4.953: IECUSTOM: Restoring registry permissions…
4.969: IECUSTOM: Finished restoring registry permissions…
4.984: Nie można zapisać klucza rejestru konfiguracji.
4.984: Instalacja produktu Internet Explorer 7 nie została ukończona.
4.984: Update.exe extended error code = 0x3f5

szybkie szukanie na google i trafiłem na stronę Microsoft KB917925. po użyciu komendy:

secedit /configure /cfg %windir%\repair\secsetup.inf /db secsetup.sdb /verbose

instalacja odbyła się bez problemu. dla Visty komenda ma składnię:

secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose

to tak jak by ktoś jeszcze miał podobny problem ;)

bookmark_borderLanSweeper – instalacja podręcznego pomocnika :)

LanSweeper-Logo

Jakiś czas temu stwierdziłem, że przydałoby się narzędzie, które odwaliło by za mnie robotę i stworzyło przejrzystą listę całego sprzętu komputerowego – poprawka – w sumie zależało mi tylko na informacji o komputerach i serwerach.

Poszperałem trochę po sieci i natrafiłem na projekt LanSweeper. Jak się potem okazało, jest to idealne narzędzie do tego celu – a co ważniejsze – darmowe.

W części poniżej opiszę jak wdrożyć LanSweeper’a w sieci opartej o Active Directory i Windowsa 2003 z racji tego, że stacje robocze raportują dane na serwer przy wykorzystaniu skryptu logowania przypisanego przez Group Policy.

Nie będę się rozpisywał jak ściągnąć i jak zainstalować, to jest raczej banalne i nie wymaga wyjaśnień. Kiedy mamy już instalkę na serwerze, czas na przygotowanie skryptu do skanowania kompów. Służy do tego mały programik LSclient dołączony do LanSweeper’a. W moim przypadku zacząłem od stworzenia udziału na serwerze do którego dostęp maja wszyscy użytkownicy \\serwer\LanSweeper. Składnia wywoływania LSclienta to LSclient 'adres serwera z LanSweeper’em’. Teraz czas na małego prostego *.bat’a w stylu:

\\serwer\LanSweeper\LSclient.exe 10.10.10.10

No to skrypt mamy.

Kolejna sprawa to stworzenie za pomocą Group Policy Management nowej zasady i przypisanie jej do OU zawierającego użytkowników, których chcemy objąć inwentaryzacją. W ustawieniach dajemy w User Configuration\Windows Settings\Scripts\Logon lokalizację naszego *.bat’a. Dla przyśpieszenia przetwarzania zasady można wyłączyć Computer Configuration.

ls-logonscript

Czas na testy. Na stacji roboczej dajemy gpupdate /force. Wylogowujemy się i logujemy ponownie. Powinien pojawić się pierwszy wpis na stronie LanSweeper’a. Zapomniałem dodać, że dostęp do „konsoli” z zebranymi informacjami odbywa się przez przeglądarkę WWW – działa z IE i FF, jednak wskazany jest IE – o tym dlaczego będzie póĹşniej.

ls-opersystems

Po prawej widzimy ogólną statystykę komputerów, na środku podstawowe informacje – dzięki nim jesteśmy w stanie stwierdzić, na którym komputerze nie działa RPC albo WMI – a są one wymagane do poprawnego zinwentaryzowania. Po lewej mamy informację o skanowanych domenach i ostatnio skanowany komputer. Po kliknięciu na nazwę domeny otrzymujemy pełną listę komputerów:

ls-complist

LanSweeper oferuje jeszcze multum innych funkcjonalności, do najbardziej przydatnych osobiście zaliczyłem:

# sprawdzanie kto znajduje się w grupie Administratorzy
# jaki soft zainstalowany jest na danym komputerze
# czy posiada jakieś niestandardowe udziały sieciowe

Dodatkowo tworzy także listę wszystkich programów zainstalowanych na wszystkich komputerach. Łatwo wtedy wyszukać takie kwiatki jak np. Adobe Reader 5.0 :) Na tym jednak nie koniec, po wskazaniu dowolnego komputera otrzymujemy pełną informację o nim:

ls-compinfo

Praktycznie od ręki mamy dostęp do takich narzędzi jak połączenie przez VNC, Zdalny Pulpit, ping, traceroute, reboot, shutdown. Listę tą można dowolnie rozszerzać o swoje własne programy i skrypty. Niestety aby zadziałały potrzebny jest IE – nie da się np. wywołać linii poleceń z poziomu strony otwartej w FF. Jak to zrobić opisane jest w instrukcji samego LanSweeper’a.

Jak widać – narzędzie to ma spore możliwości a przede wszystkim pozwala trzymać najważniejsze informacje w jednym przejrzystym miejscu. Od czasu wdrożenia mogę śmiało powiedzieć – czas potrzebny na dotarcie do informacji na temat któregoś z kompów i ewentualne połączenie się z nim w celu usunięcia awarii skrócił się diametralnie… W razie jakiś pytań – służę pomocą :)