Úgy adódott, hogy egy nagyon kedves ügyfelemnél egy teljesen új telepítésű Lync 2013-as környezetet építettem. Minden az elvárt módon, egyszerűen ment. Nem is mehetett volna másként, hiszen ez Lync. Az első probléma rögtön azután jött, hogy már minden funkciót telepítettünk és indítottuk volna a szolgáltatásokat.
Az összes szolgáltatás beindult, kivéve a Front-End. Az starting állapotba maradt. Az eseménynaplóban kevés használható információ volt ami a hiba megoldásához vezetett volna. Látszólag.
Az eseménynapló tele volt kapcsolódási kísérleteket tartalmazó hibával, ami elnyomta a számunkra hasznos hibaüzenetet. Ezek a hibák mindegyike már csak okozat volt, ugyanis a Front-End szolgáltatás nem futott, így a Lync saját automatikus ellenőrzései által keltett hibák voltak. Tehát nem ezek miatt nem indult el a Front-End szolgáltatás. Példa a félrevezető hibákra:
Ahhoz, hogy a hibát jobban megértsem kézzel újraindítottam párszor a szolgáltatást és figyeltem az eseménynaplót. A szolgáltatás üzemszerűen indult, azonban egy ponton az üzemszerű indulás megállt és Starting állapotba ragadt. Az utolsó üzenet az eseménynaplóban egy Warning üzenet volt:
Először nem is gondoltam, hogy ennek a hibához köze lehet. De második-harmadik indításnál is ez játszódott le, így nem lehetett mindezt figyelmen kívül hagyni. A széken hátradőlve, egeret billentyűzetet hátrahagyva elkezdtem kutatni az emlékeimben, hogy mi lehet itt az összefüggés. Aztán hirtelen összeállt a kép:
- a UserReplicator komonens valóban a Front-End kontextusában fut
- a UserReplicator az Active Directory címtár összes tartományával szeretne kapcsolatba lépni alapértelmezett beállítások szerint
- az ügyfél környezetében a child domain biztonsági okokból hálózatilag teljesen elkülönített, értsd, csak a DC-k látják egymást, az egyik tartomány kliensei a másik tartomány tartományvezérlőit nem látják és fordítva.
Innen a kérdés megválaszolása már egyszerű. Ugyanis két ellentmondó követelményünk van:
ügyfél követelménye: nem lehet elérni az összes tartomány tartományvezérlőjét <-- -->termék követelménye: el kell érni minden tartományvezérlőt
Ezt kell összeilleszteni. Erre (is) való a Set-CsUserReplicatorConfiguration cmdlet. Segítségével mi a környezetünkben hozzáadtuk az egyetlen tartományt amit elérhet a Lync, ezzel az elérhetetlen tartományt kihagyva és kikerülve. A cmdlet példájában szereplő harmadik parancsot használtuk a megfelelő tartományi információ behelyettesítésével:
Set-CsUserReplicatorConfiguration -Identity global -ADDomainNamingContextList @{Add="dc=fabrikam,dc=com"}
Minden jó, ha a vége jó. Az ügyfél boldog, a tanácsadó nyugodt, a szolgáltatás fut.