Thursday, March 25th, 2010...10:46 pm
Gdzie jest web service?
Windows 2008 R2 pomiędzy innymi zmianami wprowadza również nowy interfejs dostępu do danych usługi Active Directory – Active Directory Web Service (ADWS). W ramach przenoszenia tej funkcjonalności na starsze systemy udostępniona została również wersja dla systemów 2003/2008 pod nazwą Active Directory Management Gateway.
To tyle jeżeli chodzi o fakty … częściowo o nich mówiłem zresztą też na mojej sesji na WCL dotyczącej nowości w Windows 2008 R2 (właśnie zobaczyłem że nie umieściłem na blogu materiałów chyba … nadrobi się).
ADWS używana jest przez kilka produktów w chwili obecnej, między innymi AD Administrative Center i moduł Powershell dla AD w Windows 2008 R2. I o tym ostatnim w tym wpisie poniekąd będzie. Próbując bowiem z niego skorzystać jeden z użytkownikow (pozdrawiam bo wiem że poczytuje
) napotkał na problem objawiający sie komunikatem:
Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.
WARNING: Error initializing default drive: ‘Unable to find a default server
with Active Directory Web Services running.’.
PS C:\Windows>
Pytanie więc … gdzie szukać przyczyn, czyli jak serwer z ADWS znajdowany jest przez klienta, w tym wypdku modu Powershell.
Odpowiedź jak to w wypadku AD jest prawie że standardowa, czyli – DC Locator. DC locator to proces lokalizacji kontrolera domeny przez klienta, pozwalający na wybór najbardziej optymalnego kontrolera domeny w ramach danej konfiguracji. Oprócz uwzględnienia położenia klienta w ramach infrastruktury usługi katalogowej (podsieci, lokacje) klient może przekazać do tego procesu dodatkowe parametry – na przykład że dany DC ma być GC lub że nie może to być RODC. Te same informacje są też zwracane klientowi, jako część informcji o kontrolerach domeny w procesie ich wyszukiwania. Całość zawarta jest w strukturze DS_FLAGS.
W ramach implementacji rzeczonej ADWS do DS_FLAGS dodany został dodatkowy bit opisany jako:
DS_WS_FLAG, The Active Directory Web Service, as specified in [MS-ADDM], is present on the server.
I tenże bit jest używany przez klienta do tego, aby serwer z instancją ADWS namierzyć i z usług jego skorzystać. Klient w tym celu specyfikuje przy zapytaniu o DC dodatkowy parametr DS_WEB_SERVICE_REQUIRED.
I w zasadzie to by było na tyle. Problem w tym jednak, że środowiska nie są jeszcze monolityczne i w rzeczywistości (okres migracji) często mamy do czynienie ze środowiskiem gdzie mamy kontrolery w wersji 2008R2 jak i starsze 2003/2008. Te zaś tej nowej flagi nie rozumieją, i aby ją zrozumiały potrzebna im jest tak zwana poprawka, odpowiednio KB969249 (2003) i KB967574 (2008).
Planując więc wdrożenie W2008R2 i mechanizmów korzystających z ADWS (lub ADMG) warto pamiętać o tym, żeby odpowiednie poprawki wdrożyć. W dużych środowiskach, powiedzmy z kilkudziesięcioma DC warto też zadbać o to, aby ADWS był wdrożony na odpowiedniej liczbie serwerów. Zresztą o tym zawsze warto pamiętać, aby się nie okazało, że nasz świeżo stworzony skrypt Powershell po wyłączeniu jednego DC przestaje działać.
To tyle na dzisiaj w zasadzie … o diagnozowaniu problemów z ADWS trochę jeszcze będzie wkrótce.


1 Comment
April 9th, 2010 at 12:45 am
[...] blog Gdzie jest web service? [...]
Leave a Reply