Temat ustawiania przekierowania w Exchange nie jest nowy, chociaż pewne aspekty zmieniały się w kolejnych wersjach systemu Exchange. Co trzeba zrobić, żeby użytkownicy nie musieli wpisywać w OWA zarówno https:// jak i /owa tylko samą nazwę hosta? W wersji 2010 na platformie IIS 7.x jest to stosunkowo proste – żeby nie powtarzać odsyłam na blog Briana Desmonda, jednak ręczne przeklikiwanie się przez wszystkie wirtualne katalogi (i to w dodatku dwukrotnie) jest dosyć męczące, a na dodatek łatwo o błąd. Ponadto często trzeba również poprawiać uprawnienia do pliku web.config w katalogu wirtualnym OAB, żeby Outlooki poprawnie aktualizowały książkę adresową. W dodatku kiedy serwerów jest kilka, bo mamy load balancing dla CAS, to zadanie robi się jeszcze bardziej męczące. Długo przymierzałem się do napisania takiego skryptu samodzielnie, ale ciągle nie miałem na to czasu. W końcu kilka dni temu znalazłem gotowy skrypt na francuskojęzycznym blogu Davida Pekmeza. Skrypt jest bardzo prosty (na dodatek komentarze w kodzie są po angielsku) i wymaga tylko podania dwóch parametrów – url do którego przekierowujemy (czyli np. wirtualna nazwa CAS w ramach farmy CAS), oraz informacja, czy książka adresowa ma być udostępniana po HTTP czy HTTPS jak w poniższych przykładach:
.\IISRedirect.ps1 –URLRedirect “https://mail.firma.pl/owa” –OAB HTTPS
.\IISRedirect.ps1 –URLRedirect “https://poczta.firma2.local/owa” –OAB HTTP
Skrypt korzysta ze standardowego narzędzia dodanego w IIS 7 do konfiguracji serwera (appcmd.exe) do ustawienia przekierowania na wszystkich niezbędnych katalogach wirtualnych oraz przełączenia z http na https tam gdzie jest to niezbędne, sprawdza również i poprawia uprawnienia do web.config, a na końcu restartuje usługę webową.
Poniższy rysunek prezentuje przykład działania skryptu: