Virtual Study

18 stycznia 2017

Exchange 2016 CU3 - problem z ustawieniem zewnętrznej domeny

Konfigurując serwery Exchange już od dawna korzystam ze skryptu, który napisałem jakiś czas temu do ustawiania zewnętrznych nazw dla usług webowych. Dzisiaj jednak na szkoleniu z Exchange 2016, które prowadzę, zwrócono mi uwagę, że nie da się tego zrobić w sposób standardowy, czyli poprzez kreator "Configure External Access Domain" z poziomu Exchange Admin Center.























Okazało się, że faktycznie, do wersji CU3 (w CU4 jest już na szczęście OK) był błąd w pliku ClientAccess\ecp\VDirMgmt\EditExternalCASDomain.aspx (w strukturze katalogów instalacyjnych serwera Exchange) - brakowało filtra, który wyświetlał serwery z rolą Mailbox (oddzielnej roli CAS już w Exchange 2016 nie ma). Po dodaniu do pliku dwóch linii z odpowiednimi parametrami, zgodnie z zaleceniami, podanymi na blogu http://www.weeta.net/post/exchange-2016-cu3-configure-external-access-domain-server-list-empty, można było znaleźć wszystkie serwery w organizacji i dodać im zewnętrzną nazwę.









Niby drobiazg, ale uciążliwy. Na szczęście zostało to poprawione w paiecie poprawek CU4.

02 stycznia 2017

SHA-1 do wymiany

Początek roku przyniesie nam spore zamieszanie w obszarze certyfikatów webowych. Wiele firm korzysta wewnętrznie z urzędów certyfikacji, które zostały zainstalowane kilka, a nawet kilkanaście lat temu, z domyślnym podpisem SHA-1, który od kilku lat jest uznawany za niewystarczający. Producenci przeglądarek od jakiegoś czasu zaczęli ostrzegać użytkowników o tym, że takie certyfikaty są potencjalnie niepoprawne (np. Chrom już od wersji 39 wyświetla ostrzeżenia o błędach certyfikatu). Aktualna wersja (Chrome 50) wyświetla informację, że o błędnym certyfikacie.





Jednak sytuacja diametralnie zmieni się w najbliższych tygodniach. Google ogłosił, że nowa wersja Chrome 56, planowana na koniec stycznia 2017 nie będzie otwierać stron zabezpieczonych certyfikatem z SHA-1.
Podobnie Firefox ogłosił politykę wygaszania wsparcia dla SHA-1, Nowa wersja Firefox 51, planowana do dystrybucji, podobnie jak Chrome 56 w styczniu 2017 ma również blokować dostęp do stron zabezpieczonych certyfikatem wystawionym przez urząd główny z SHA-1.
Co prawda można użyć polis konfiguracyjnych, które pozwolą na dalsze użycie takich certyfikatów, ale nie będzie to dla standardowych użytkowników takie proste.
Do tego trendu dołączył Microsoft, ogłaszając, że w dniu 14 lutego 2017 zostanie wydana poprawka dla przeglądarek Internet Explorer i Edge, która zacznie wyświetlać okno z informacją, że certyfikat jest niezaufany, a w kolejnym kroku blokada będzie całkowita.






















Dokładniejsza informacja na ten temat opublikowana została na stronach Technetu.
Jak się ustrzec przed takimi problemami? Nie pozostaje nic innego niż zmienić certyfikat swojego urzędu certyfikacji, wykorzystując SHA-256 (pamiętajmy o tym że TLS 1.0-1.2 nie wspierają mocniejszych podpisów jak np. SHA-512, więc ustawienie bardzo mocnego algorytmu też nie jest zalecane). Instrukcja jak to zrobić, dostępna jest na stronach Microsoftu, a także na wielu innych blogach.

Nowy rok czas zacząć

Kolejny rok minął, zastanawiam się, czy był udany? Na pewno był ciekawy - APN Promise przeprowadził się do Mordoru, a mój zespół zrealizował całkiem sporo wdrożeń i migracji Exchange i Skype for Business. Udało mi się podnieść i rozwinąć kompetencje w wielu obszarach, głównie w obszarze terminali wideo i narzędzi integracyjnych, SBC i systemów archiwizacyjnych. Starałem się również nadążyć za zmianami w Office 365, Exchange i Skype for Business, co wbrew pozorom nie było takie proste. Udało mi się wziąć udział w kilku ciekawych konferencjach, a nawet ponownie zorganizować Office Server Summit. Na blogu udało mi się również opublikować trochę ciekawych informacji (5000 wyświetleń w ostatnim miesiącu, to może nie jest tyle co u blogerów modowych, ale jak na dosyć specyficzną część IT, do tego po polsku, chyba nie najgorzej), może nie tyle ile chciałem, ale więcej niż w 2015 czy 2014 roku, chociaż dawniej udawało mi się pisać więcej. No ale teraz krótkie info wrzucam na twittera, którego śledzi coraz więcej osób.
W świecie IT też się dużo działo w 2016 roku. O wpływie dobrej zmiany na IT w Polsce nie będę pisać, bo staram się nie mieszać polityki z technologią, wystarczy skupić się na działalności mojego ulubionego producenta z Redmond. Odchodzenie poszczególnych grup produktowych od tworzenia aplikacji na platformę Windows Phone zmusiło mnie to zmiany telefonu na model z Androidem - trudno poznawać i testować nowe aplikacje, jeżeli Microsoft po prostu ich na WP nie robi. Ale przy udziale w rynku < 0,5% i masowych zwolnieniach w tej części korporacji trudno się takiej postawie dziwić.
Zaczął się za to rozwijać obszar telefonii w ramach Office 365. Dodanie Cloud PBX do planów Office, Skype Meeting Broadcast czy też PSTN Conferencing (PSTN Calling nie jest w Polsce dostępne, więc na razie nie ma co się nad tą funkcjonalnością rozwodzić, chociaż warto pamiętać, że w wybranych krajach można dzwonić z chmury bezpośrednio) na pewno mocno rozszerzyło możliwości funkcjonalne Skype for Business Online, a Microsoft Teams uzupełni te możliwości o kolejne obszary.
Pojawił się również Windows Server 2016, a Microsoft we wrześniu na konferencji Ignite ogłosił współpracę tej wersji systemu z Exchange 2016, jednak ze względu na problemy z IIS, dopiero w połowie grudnia instalacja Exchange 2016 na nowej wersji systemu stała się możliwa. Sam padłem ofiarą tych problemów, więc na pewno jeszcze jakiś czas będę się uważnie przyglądał nowej platformie zanim ją zarekomenduję klientom.
Co przyniesie rok 2017? Mam sporo planów, związanych z PEPUG i różnymi technologiami, ale o tym napiszę osobno.

Szczęśliwego Nowego Roku!

14 grudnia 2016

Grudniowe aktualizacje Exchange

Zespół produktowy Exchange właśnie opublikował informację na swoim blogu o kolejnych aktualizacjach poprawek dla Exchange Server 2013 i 2016. Zostały również wydane aktualizacje poprawek dla 2010 i 2007, chociaż dla tych produktów Rollupy wnoszą dużo mniejsze zmiany - tylko łatanie krytycznych dziur bezpieczeństwa i aktualizacje stref czasowych.
Cummulative Update 4 dla Exchange Server 2016 oprócz kilku mniejszych problemów wprowadza kilka istotnych modyfikacji:
  • w połączeniu z poprawką dla systemu oeracyjnego Windows Server 2016, KB3206632 (musi być zainstalowana przed wdrożeniem CU4) przede wszystkim naprawia problem z krytyczną awarią IIS, która następowała po skonfigurowaniu DAG (sam padłem w labie ofiarą tego problemu). Jak wiele innych poprawek systemowych KB3206632 ma wielkość około 1 GB. Można ją pobrać z tej lokalizacji.
  • Kolejną zmianą jest dodanie wsparcia dla .Net 4.6.2, zarówno dla Exchange 2016 jak i 2013 (CU3 dla Exchange 2016 wprowadzało to wsparcie tylko dla platformy Windows Server 2016). Warto mieć to na uwadze, ponieważ Microsoft wspomina, że 4.6.2 będzie wymagany przy kolejnych aktualizacjach w następnym kwartale.
  • Jeszcze jedną istotną zmianą jest poprawienie (zarówno w wersji 2013 jak i 2016) mechanizmów indeksowania dla folderów publicznych. Żeby mieć pewność, że mechanizm będzie działał poprawnie należy przenieść skrzynkę z folderami publicznymi do nowej bazy.

Pełna lista zmian jak zwykle znajduje się w odpowiednich artykułach KB. Poniżej również znajdują się odnośniki z których można pobrać poprawki:
Exchange 2016 CU415.1.669.32KB3177106DownloadUMLP
Exchange 2013 CU1515.0.1263.5KB3197044DownloadUMLP
Exchange 2010 SP3 Rollup 1614.3.339.0KB3184730Download
Exchange 2007 SP3 Rollup 228.3.502.0KB3184712Download

10 grudnia 2016

Ciekawostki w aktualizacjach klienta Skype for Business

Od czasu do czasu umieszczam na blogu informacje na temat aktualizacji i nowych funkcjonalności serwerowych, zarówno w Exchange jak i Skype for Business, jednak zmiany pojawiają się również po stronie klientów. Ostatnio w Skype for Business 2016 pojawiły się istotne zmiany, jednak tylko część użytkowników mogła je zauważyć. Aktualizowana informacja o nowościach funkcjonalnych znajduje się na stronie producenta.
Pierwszą zmianą, o której chciałem wspomnieć jest zastosowanie Video-based Screen Sharing (VbSS) zamiast RDP do udostępniania pulpitu. Pisałem już o tym w kontekście czerwcowej poprawki do Serwera. Bez aktualizacji klienta do odpowiedniej wersji VbSS niestety nie zadziała i pulpit zostanie udostępniony po staremu. Mając czerwcową poprawkę na serwerach oraz analogiczne aktualizacje klientów możemy również skorzystać z dostarczania wiadomości offline, funkcjonalności, której mi osobiście nie raz brakowało.
Drugą zmianą, która jest dostępna tylko dla niektórych klientów CTR (Current Channel oraz First Release for Deferred Channel)  jest nowy interface, prezentujący się inaczej niż dotychczasowe wersje, zarówno w sposobie prezentacji menu głównego, jak i prezentacji informacji o kontakcie:

















Inaczej również wygląda okno konwersacji IM, ale można szybko przywyknąć do nowości.




















Dla pozostałych użytkowników wersji CTR Skype for Business 2016 nowy interface powinien zostać udostępniony prawdopodobnie w lutym 2017, dla użytkowników wersji MSI, na razie nie znam daty.
Czasami łatwo się pogubić, mówiąc o poszczególnych wersjach Skype for Business. Jednym strumieniem aktualizowane są wersje wdrażane w sposób tradycyjny z nośników dostępnych w ramach umów wolumenowych, zgodnie z listą aktualizowaną na stronie producenta:

WersjaData wydaniaOpisDownload
16.0.4456.1001November 1, 2016KB312793932 bit64 bit
16.0.4444.1000October 11, 2016KB311828832 bit64 bit
16.0.4432.1000September 6, 2016KB311828832 bit64 bit
16.0.4405.1000July 5, 2016KB311526832 bit64 bit
16.0.4393.1002June 7, 2016KB311508732 bit64 bit
16.0.4378.1000May 3, 2016NA32 bit64 bit
16.0.4363.1000April 12, 2016KB311496032 bit64 bit
16.0.4351.1000March 8, 2016KB311484632 bit64 bit
16.0.4339.1000February 9, 2016KB311469632 bit64 bit
16.0.4312.1001December 8, 2015KB311437232 bit64 bit
16.0.4266.1001RTMNANANA

Klienci używający wersji CTR mają bardziej urozmaicone możliwości. Poprawki dystrybuowane są w trzech kanałach - Current Channel, Deffered Channel oraz First Release for Deferred Channel. Częstotliwość aktualizacji jest różna w zależności od wybranego kanału, więc czasami można się pogubić, jakie nowe funkcjonalności mogą być dostępne na naszym komputerze.
Kanał aktualizacji
Aktualizacje funkcjonalności
Security updates
Non-security updates
Current Channel (CC) Miesięcznie Miesięcznie Miesięcznie
Deferred Channel (DC) Co cztery miesiące Miesięcznie Co cztery miesiące
First Release for Deferred Channel (FRDC) Co cztery miesiące Miesięcznie Miesięcznie

Żeby się upewnić, jaka wersja jest aktualnie pobierana na nasz komputer, należy spojrzeć w informacje o pakiecie Office w innym produkcie - np. Outlook (menu Plik, Konto pakietu Office).


















Tak jak w kliencie Skype for Business nie ma możliwości aktywacji pakietu Office, tak samo nie ma informacji o używanym kanale aktualizacji, można co najwyżej porównać nr buildu z tabelami aktualizacji.








Aktualne w chwili pisania artykułu wersje to:
  • Current Channel: Version 1611 (Build 7571.2072), wydany 6 grudnia 2016,
  • Deferred Channel: Version 1605 (Build 6965.2105), wydany 8 listopada 2016,
  • First Release for Deferred Channel: Version 1609 (Build 7369.2055), wydany 8 listopada 2016.
Jak widać na powyższych rysunkach, numer wersji samego SfB może nieco się różnić od numeru wersji całego pakietu. Jednak nawet w kanale opóźnionym (DC), numer wersji jest sporo wyższy niż w wersji MSI.

Skype Operations Framework - serwis wart odwiedzenia

W trakcie tegorocznej konferencji partnerskiej WPC Microsoft ogłosił uruchomienie nowego serwisu - Skype Operations Framework (SOF). Nazwa, całkiem słusznie, kojarzy się z nieco zapomnianymi czasami, kiedy Microsoft starał się pokazać klientom i partnerom, że planowanie, wdrażanie i utrzymywanie produktów giganta z Redmond jest klarowne i kieruje się dobrze określonymi zasadami, które może nie gwarantują 100% sukcesu, ale na pewno pomogą ominąć zdecydowaną większość problemów podczas wdrażania, a później podczas eksploatacji i utrzymania systemów sieciowych. Metodologie Microsoft Sulutions Framework oraz Microsoft Operations Framework kilkanaście lat temu można było poznać poprzez oficjalne szkolenia MOC, co udało mi się zrobić, a nawet wykorzystywać w praktyce, w czasie kiedy budowałem Active Directory i pocztę Exchange w PKO BP. Niestety jednak skupiając się na szybkim tempie dostarczania nowych wersji produktów, Microsoft nieco zapomniał o aktualizacji i rozbudowie dokumentacji, chociaż wdrażanie wielu produktów potrafi spowodować wiele problemów.
Skype for Business Online na pierwszy rzut oka wygląda na produkt łatwy do wdrożenia - zaznaczamy kilka checkboxów w panelu administracyjnym Office 365 i produkt teoretycznie jest uruchomiony. Jednak diabeł tkwi w szczegółach. Brak weryfikacji połączeń sieciowych, sposób dystrybucji aplikacji Skype for Business na komputerach pracowników, a zwłaszcza uruchomienie funkcjonalności telefonicznych - Cloud PBX i PSTN Conferencing potrafi wprowadzić niezłe zamieszanie, jeżeli odpowiednio nie zaplanujemy poszczególnych kroków wdrożenia.
SOF oprócz omówienia podstaw teoretycznych Operations Framework, pokazuje szczegółowo (łącznie z dokumentami) wszystkie kroki w obszarach migracji SfB do chmury oraz wdrożenia od podstaw SfB Online, łącznie z technologiami telefonicznymi. W ramach witryny dostępny jest również portal szkoleniowy, na którym można dowiedzieć się więcej o procesie wdrożeniowym, zarówno w kontekście migracji z włąsnej serwerowni, hybrydy jak i wdrożenia wyłącznie chmurowego.




















Można również poznać szczegółowe informacje o nowych produktach i technologiach, jak np.:
Jeżeli ktoś jest odważny i lubi eksperymentować, to z poziomu portalu jest dostępny również odnośnik do witryny Skype Preview, na której po zarejestrowaniu firmy można zgłaszać swoją organizację do testowania nowych funkcjonalności, zarówno klienckich jak i serwerowych Skype.

05 grudnia 2016

Czy warto używać funkcjonalności Persistent Chat?

Jedną z wielu ról, które można wdrożyć w systemie Skype for Business Server 2015 jest Persistent Chat Server. Niektóre firmy korzystają z tej funkcjonalności intensywnie, inne wcale jej nie wykorzystują, a część z organizacji używających SfB nawet nie wiedzą o jej istnieniu i nie zastanawiają się, czy jej wdrożenie może być dla firmy korzystne. W ostatnich tygodniach Microsoft udostępnił w ramach Office 365 nową usługę - Microsoft Teams, która jest odpowiednikiem Persistent Chat w usługach chmurowych, dlatego też warto przyjrzeć się bliżej każdej z nich.
Czym jest Persistent Chat? Nie będę teraz zagłębiać się w architekturę, wymagania sprzętowe i możliwe topologie wdrożenia, bo z tych tematów wyszedłby cały cykl artykułów, ale chciałbym spróbować napisać, po co w ogóle używać tej usługi i w jakich przypadkach może okazać się ona użyteczna.
O ile sama desktopowa aplikacja Skype for Business, podobnie jak Skype może być traktowana jako osobisty komunikator, umożliwiający szybki kontakt audio, wideo i tekstowy z wybranymi znajomymi lub współpracownikami, to dodając do architektury komponent Persistent Chat, wprowadzamy nową formę współpracy w ramach grupy pracowników, określaną kompleksowo jako CEC (Chat-enabled collaboration).
Klient Skype for Business standardowo pozwala nam nawiązać komunikację z jedną osobą lub większą ilością osób (konferencja), jednak po zakończeniu danej dyskusji jej przebieg jest archiwizowany i w zasadzie nie jest już kontynuowany. Piszę 'w zasadzie', ponieważ najnowsze wersje aplikacji pozwalają nam otwierać przerwane konwersacje, a nawet wysyłać wiadomości do osób chwilowo niedostępnych, tak żeby dostały wiadomość po uruchomieniu klienta (tzw. offline mode).
Persistent Chat Server dodaje do SfB pokoje rozmów (chat rooms), które pozwalają nam na przechowywanie konwersacji w ramach danego pokoju dowolnie długo, powiadamiając nas o nowych dyskusjach w pokojach rozmów, które są dla nas interesujące. Jak w praktyce może wyglądać korzystanie z Persistent Chat? Jednym z przykładów wykorzystania tej funkcjonalności może być zarządzanie projektami. Jeżeli w dużej firmie, wielu pracowników często podróżuje lub pracuje z domu, koordynacja projektów nie jest zadaniem banalnym. Wysyłanie wszystkich informacji mailem czy też wymiana informacji konwersacjami SfB nie jest w pełni efektywna i część informacji może nie docierać do wszystkich członków zespołu projektowego lub po prostu być przeoczona w natłoku innych wiadomości pocztowych. Rozwiązaniem problemów może być utworzenie pokojów spotkań dla poszczególnych projektów, a nawet dla poszczególnych faz konkretnych projektów. Tworząc pokój rozmów możemy wskazać osoby biorące udział w projekcie. W ten sposób każda z tych osób uzyskuje informację o nowych informacjach pojawiających się w związku z pracami w projekcie i jednocześnie ma wgląd w historię dyskusji związanych z danym tematem/zagadnieniem.
Inne scenariusze zastosowań mogą dotyczyć np. obsługi dokumentów księgowych, różnego rodzaju wniosków, a nawet powiadomień o błędach w aplikacjach czy pojawiających się w środowisku awariach.
Oprócz pokojów rozmów (kierując się analogią do powyższego przykładu o nazwach związanych z konkretnymi projektami), które z czasem mogą stać się całkiem obszerne, jeżeli umieścimy w nich wiele wypowiedzi, każdy użytkownik SfB może utworzyć sobie kanały tematyczne, które służą do śledzenia dyskusji zawierających konkretne słowa kluczowe, a nawet dodatkowo wskazać powiązania tych słów z konkretnymi nadawcami.
   
Definiując kanał tematyczny wskazujemy również powiadomienie, jakie ma zostać wygenerowane w przypadku pojawienia się wiadomości z konkretnego kanału, jak widać na poniższym rysunku.























Jak widać, dla każdego kanału możemy dostosowywać powiadomienia do naszych preferencji, łącznie ze specyficznym dźwiękiem (innym dla wiadomości normalnej i z wysokim priorytetem).
Warto również skonfigurować sobie domyślne powiadomienia dla . Będą one działały również dla wszystkich pokojów rozmów, których śledzenie włączyliśmy.




















Oczywiście ustawienia powiadomień dla Persistent Chat znajdziemy w opcjach klienta SfB, pod niezbyt fortunnie przetłumaczonym tytułem 'Rozmowa trwała'.























Dla firm, które mają wdrożony portal intranetowy, np. na serwerze Sharepoint, funkcjonalność Persistent Chat może okazać się niepotrzebna, ale jeżeli ktoś ma tylko Exchange, to może warto użyć tej funkcjonalności zamiast list dystrybucyjnych?
Dla większych organizacji, gdzie zachodzi potrzeba odseparowania dostępu do zasobów, administrator usługi może dodatkowo utworzyć kategorie, w ramach których przydzielane są grupy osób mogących korzystać z poszczególnych grup pokojów rozmów. Utworzenie kategorii pozwala również oddzielnie definiować wspólne ustawienia takie jak możliwość dodawania plików do pokojów, mozliwość przeglądania historii rozmów w ramach pokojów oraz użycie zaproszeń do korzystania z pokojów.

24 listopada 2016

Integracja Skype for Business i Exchange - kwestia autodiscovera

Prezentacja statusu dostępności to bardzo wygodna funkcjonalność Skype for Business. Niektórzy twierdzą, że umożliwia szpiegowanie (bo pokazuje kiedy przez jakiś czas nie dotykamy klawiatury), ale dla mnie umożliwia przede wszystkim szybki kontakt ze współpracownikami i kontrahentami, pokazując kiedy są dostępni. W środowisku, gdzie jest wdrożony również Exchange, można używać również mechanizmów integracyjnych do pobierania danych z kalendarza użytkownika w Exchange, w celu automatycznej zmiany statusy z 'dostępny' na 'zajęty'. Dodatkowo klient SfB może wyświetlać informacje publikowane przez asystenta OOF. Funkcjonalność tą możemy wyłączyć (domyślnie jest włączona) w opcjach klienta SfB.

Jak działa ten mechanizm? Wbrew pozorom nie jet to takie oczywiste i w wielu środowiskach może działać on niepoprawnie. Klient SfB, podobnie jak Outlook wykorzystuje usługę EWS (Exchange Web Services), do odpytania serwerów Exchange o dane z kalendarza (Availability Service). Podobnie jak Outlook, klient SfB również używa usługi Autodiscover do odpytania Exchange o konfigurację EWS. Jednak jak to mówią, diabeł tkwi w szczegółach. Na komputerach należących do domeny, Outlook sprawdza w pierwszej kolejności informację znajdującą się w rekordzie SCP (Service Connection Point). Jego wartość możemy sprawdzić wykonując komendę:
Get-ClientAccessServer | select name,AutoDiscoverServiceInternalUri
Na komputerze poza domeną Outlook szuka url - najpierw https://domenapocztowa/autodiscover/autodiscover.xml, następnie, w  drugim kroku sprawdza url https://autodiscover.domenapocztowa/autodiscover/autodiscover.xml, a w trzeciej kolejności sprawdzany jest rekord SRV dla usługi autodiscover (_autodiscover._tcp.domenapocztowa). W przypadku klienta SfB ścieżka jest dużo prostsza, co w wielu środowiskach może spowodować nieco problemów - sprawdzany jest tylko i wyłącznie rekord https://autodiscover.domenapocztowa/autodiscover/autodiscover.xml. Jeżeli nie jest on dostępny, to mogą pojawić nam się komunikaty, mówiące o problemach z integracją, a nawet okna logowania (które oznacza próbę uwierzytelnienia w Exchange). 
Jak zweryfikować, czy SfB poprawnie integruje się z Exchange? Najprościej sprawdzić, zerkając na konfigurację (prawoklik+Ctrl na ikonie skype w pasku zadań)

Następnie sprawdzamy. Jeżeli są wyświetlone ścieżki EWS i widać informację 'Status EWS jest OK', to wszystko powinno działać poprawnie.

Jeżeli ścieżki EWS nie są wyświetlane, to przeważnie również wyświetlana jest informacja o nieprawidłowej konfiguracji EWS lub braku takiej konfiguracji. W większości przypadków świadczy to o tym, że SfB nie był w stanie pobrać informacji o konfiguracji EWS poprzez autodiscover. Oprócz braku rekordu A dla nazwy autoodiscover może to być spowodowane również np. niepoprawną konfiguracją usługi proxy.

18 października 2016

APN Promise Technology Summit 2016

Już pojutrze odbędzie się w Warszawie doroczna konferencja techniczna, przygotowana przez moją firmę - APN Promise Technology Summit 2016
APN Promise Technology Summit
Jak zwykle jestem odpowiedzialny za ścieżkę Communication, na którą serdecznie zapraszam - będzie się działo!

ITDEV CONNECTIONS 2016

W niedzielę wróciłem z konferencji IT/Dev Connections 2016, która odbywała się w Las Vegas. Nie jest to event tak duży jak Ignite, zaledwie 1000-1200 uczestników, ale w tym przypadku to zaleta. Przez 4 dni odbywało się równolegle około 15-20 sesji prowadzonych przez MVP i niezależnych ekspertów, skupiając się na technologicznych szczegółach i praktycznych doświadczeniach wdrożeniowych, zamiast marketingowym pustosłowiu.


W ramach IT/Dev Connections można było obejrzeć sesje w następujących  ścieżkach:
  • Cloud and Datacenter (42 sesje)
  • Community (17 sesji)
  • Data Platform & Business Intelligence (49 sesji)
  • Development Platform, Tools and DevOps (49 sesji)
  • Enterprise Collaboration (58 sesji)
  • Enterprise Management, Mobility and Security (59 sesji)
  • Solutions (7 sesji)
Już kilkukrotnie słyszałem dużo dobrego na temat tej konferencji i muszę przyznać, że nie zawiodłem się. Mniejsza powierzchnia centrum kongresowego hotelu Aria (w porównaniu z ośrodkami gdzie odbywały się konferencje TechEd czy Ignite) dała wiele okazji do spotkań z prelegentami i innymi uczestnikami konferencji. Często niestety wybór sesji był trudny, bo w tym samym czasie prowadzone były sesje zarówno z nowych funkcjonalności Windows Server 2016 (Nano, wirtualizacja, kontenery), zarządzaniu tożsamością jak rozwiązywaniu problemów w Exchange.
Grupa produktowa Exchange była reprezentowana przez kilku najbardziej znaczących specjalistów z Redmond, pod przywództwem Grega Taylora. Oczywiście grupa MVP w kategorii Exchange Server (a właściwie już od roku Office Servers & Services, ale związanych przede wszystkim z systemem Exchange) była liczna, jak widać na poniższym zdjęciu.

Na zdjęciu znaleźli się wszyscy MVP, uczestniczący w konferencji, stoją od lewej:
Kucają od lewej:
Konferencja była zdecydowanie techniczna - poziom sesji 300 i 400, z minimalną ilością firm partnerskich, które prezentowały swoje produkty, jednak znalazła się tam polska firma CodeTwo, oferująca znane od dawna oprogramowanie do stopek w Exchange, teraz również w wersji dla Exchange Online oraz oraz narzędzia ułatwiające migrację i wykonywanie kopii zapasowych skrzynek Office 365.

16 października 2016

LS File Transfer Agent Service zgłasza błąd 1034 po usunięciu serwera z topologii

Niedawno zauważyłem uciążliwy problem po usunięciu z topologii serwera, który poprzednio pełnił rolę CMS. Usługa LS File transfer Agent Service cyklicznie zgłaszała błąd 1034 (jak widać na poniższym rysunku), co oczywiście śmieciło w konsoli SCOM-a, a dodatkowo wprowadzało zamieszanie w logach serwera: 

Zasadniczo powinno pomóc wymuszenie odświeżenia konfiguracji poprzez wykonanie komendy
Invoke-CsManagementStoreReplication, jednak po jej wykonaniu i po sprawdzeniu konfiguracji poprzez Get-CsManagementStoreReplicationStatus -CentralManagementStoreStatus, serwer usunięty z topologii i odinstalowany, był widoczny w tablicy DeletedReplicas.
Podobny problem opisał na swoim blogu Thomas Poett, pokazując niewspieraną ale skuteczną metodę polegającą na ręcznym usunięciu z SQL-a odpowiedniego wiersza z tabeli [Replica]. W przypadku, który rozwiązywałem, jednak sposób opisany przez Thomasa nie do końca pomógł - SQL nie pozwalał usunąć wiersza ze względu na referecje w innych tabelach. Faktycznie okazało się, że w tabeli ReplicaStatus są odwołania do tabeli identy
Nie jestem ekspertem od SQL-a, więc zamiast tworzyć kolejne linie T-SQLa, zrobiłem to z wykorzystaniem SQL Management Studio. Po połączeniu do serwera, na którym jest Central Management Store, przeszedłem do widoku tabel tej bazy (rysunek poniżej).  
Następnie wyświetliłem pierwszych 200 rekordów tabeli [Replica].
Korzystając z kolumny ReplicaId, zweryfikowałem wartość z wiersza, odpowiadającego serwerowi, który powinien być skasowany, a następnie przeszedłem do edycji wierszy tabeli [ReplicaStatus] i usunąłem wszystkie wiersze z tym samym numerem.
Teraz już wiersz z tabeli [Replica] pozwala się skasować. I błędy 1034 w logu aplikacyjnym przestaje się pojawiać.


11 października 2016

Naprawa statusu usług Exchange

Pół roku temu opublikowałem na blogu skrypt, który przywracał poprawny status wszystkich usług Exchange, wyłączonych przez niepoprawnie zakończoną aktualizację. Jednak nie byłem zadowolony z takiej postaci skryptu i nieco go poprawiłem. Zamiast wypisywać kolejne komendy zmiany statusu usług Exchange, nowa wersja skryptu pobiera listę usług oraz poprawny status usługi z pliku csv (dwie kolumny - SrvName i Mode) i następnie w pętli dla każdej z usług sprawdza, czy nie ma ona statusu "Disabled".

Ponieważ parametr filtrowania wyników oczekuje czystego stringu a nie zmiennej, więc dodatkowo tworzę zmienną, zawierającą definicję filtru dla konkretnego serwisu.
Jeżeli usługa ma tryb uruchomienia ustawiony na "Disabled", to skrypt zmienia ustawienia serwisu zgodnie z informacjami w drugiej kolumnie pliku csv. Taką wersję skryptu opublikowałem w galerii Technet. Skrypt należy uruchamiać w kontekście administratora (zmienia ustawienia usług systemowych), ale nie potrzebuje powłoki Exchange ponieważ działa tylko na poziomie WMI i serwisów.

29 września 2016

REST API w Exchange

Kilka dni temu pisałem o CU3 dla Exchange 2016. Na konferencji Ignite w Atlancie, Microsoft zaprezentował jeszcze jedną funkcjonalność, której wcześniej nie ujawniono - wsparcie dla REST API. W środowiskach hybrydowych ułatwi to uwierzytelnianie i ujednolici wsparcie aplikacyjne w O365 i on-premises. Przy okazji pojawił się dodatkowy wirtualny katalog na potrzeby developerskie - /api. Informacje o zmianach można znaleźć na stronie o rozszerzeniach programistycznych dla Outlooka.

26 września 2016

Migracja skrzynek raz jeszcze

O migracji skrzynek pocztowych pomiędzy różnymi wersjami Exchange pisałem już kilkukrotnie, ostatni raz o migracji do wersji 2013. Kilka lat minęło, pojawiła się nowa wersja i nieco już na rynku okrzepła (właśnie wydano CU3), ale niestety wydajność migracji pozostawia wiele do życzenia.
Nadal wydajność pozostawia wiele do życzenia, a optymalizacja nie jest wcale oczywista. Dla osób, które korzystają z konsoli webowej, przenoszenie nawet pojedynczych skrzynek będzie trwało bardzo długo. Mimo wszystko postaram się zebrać kilka przydatnych wskazówek, działających zarówno dla serwerów Exchange 2013 jak i 2016.
Niektórzy twierdzą, że warto w pliku konfiguracyjnym usługi Mailbox Replication - “MSExchangeMailboxReplication.exe.config” zwiększyć wielkość bufora. Domyślnie zapisany jest parametr:
ExportBufferSizeKB=”512″
zamiast 512 należy w cudzysłowiu wpisać 10240 i zrestartować usługę. Powinno trochę pomóc, ale niestety niewiele.
Kolejnym zaleceniem, które wiele osób podkreśla, jest wyłączenie indeksowania baz danych - tych docelowych, które dodatkowo najczęściej spięte są w grupę DAG, co dodatkowo powoduje replikację danych między nimi i zwiększa obciążenie serwerów. Można to zrobić bardzo prosto poleceniem:
Set-MailboxDatabase -identity "Baza skrzynkowa" -indexEnabled $false
To przyspiesza część operacji, ale jak dla mnie niezadowalająco.
Żeby migracja zaczęła wykonywać się w miarę sprawnie należy wyłączyć lub obejść wbudowany w Exchange mechanizm throttlingu, czyli dławienia procesów. Opisywałem to w poście, który wymieniałem na początku artykułu:
new-moverequest -identity "skrzynka" -targetdatabase "Baza skrzynkowa" -priority highest -BadLimitRequest 50
Niektórzy zalecają piority emergency, ale wg mnie highest jest wystarczająca. Dzięki temu zadania migracyjne mają odpowiednio wysoki priorytet wykonania. Przy okazji dodanie niezerowego limitu na ilość uszkodzonych elementów też jest dobrą praktyką.

21 września 2016

Wrześniowe poprawki dla serwerów Exchange

Wczoraj Microsoft wydał kolejne paczki aktualizacji dla serwerów Exchange 2013 i 2016. Odpowiednio:
Pakiety te oczywiście zawierają poprawki do większości wykrytych po poprzednim pakiecie problemów oraz luk bezpieczeństwa, nie wprowadzają rewolucyjnych zmian, jednakże warto wspomnieć o kilku ciekawych cenach, które wprowadza CU3 dla Exchange 2016. Przede wszystkim, pozwala on na instalację Exchange na Windows Server 2016, który w sierpniu uzyskał status RTM, a po oficjalnej premierze na konferencji Ignite w przyszłym tygodniu będzie dostępny do pobrania. W Windows Server 2016 zawarty jest pakiet .Net Framework 4.6.2, więc CU3 wspiera ten pakiet, ale tylko na platformie Windows Server 2016, wsparcie dla starczych wersji systemu operacyjnego, również dla Exchange Server 2013 ma się pojawić w pakietach CU w dwóch kolejnych kwartałach.
Została również po raz kolejny zoptymalizowana replikacja w ramach DAG, co zaowocowało aktualizacja kalkulatora Exchange Server Role Requirements Calculator. Zaktualizowany został również widok kontaktów i statusu dostępności w kliencie webowa Outlook on the Web.

14 sierpnia 2016

.Net Framework 4.6.1 raz jeszcze

Jakiś czas temu pisałem o problemach we współpracy .Net Framework 4.6.1 z serwerami Exchange. W kolejnych paczkach aktualizacji grupa produktowa Exchange usunęła te problemy dla najnowszych edycji Exchange - 2013 i 2016, o czym również pisałem, przy okazji wydania tych poprawek. Po wydaniu CU2 dla Exchange 2016 i CU13 dla Exchange 2013 została zaktualizowana matryca zgodności serwerów Exchange, warto do niej zaglądać nie tylko przed instalacją nowych wersji Frameworka (wersje nowsze niż 4.6.1 nie są wspierane). Jednak na forach dyskusyjnych i listach mailowych widzę, że temat ten nie do końca jest jasno opisany, więc chciałem dodać jeszcze kilka słów wyjaśnienia.

.NET Framework 4.6.1 do poprawnej współpracy z Exchange wymaga dodatkowych poprawek, zgodnie z poniższą listą:
W przypadku aktualizacji systemu, należy zainstalować najpierw pakiet poprawek do Exchange (odpowiednio CU2 dla Exchange 2016 lub CU13 dla Exchange 2013), a dopiero wtedy .Net Framework 4.6.1 i odpowiedni dodatek.
W przypadku czystej instalacji serwera Exchange, możemy zainstalować najpierw poprawki systemowe i .Net Framework 4.6.1 z odpowiednimi poprawkami, a  następnie binaria Exchange - na szczęście możemy instalować od razu najnowszą wersję z pakietu instalacyjnego Cumulative Update. Nie musimy zaczynać od wersji RTM czy też SP1 w przypadku Exchange 2013, co jest częstym błędem osób korzystających z witryny pobrać dla licencji wolumenowych - z tej strony jest nam potrzebny tylko klucz licencyjny.

31 lipca 2016

Aktualizacje Skype for Business Server dla SQL Server Availability

Zamieszczam gościnnie artykuł Jacka Światowiaka o nieco nietypowej aktualizacji Skype for Business w konfiguracji z SQL Server Availability.
Skype for Business Server może wykorzystywać wysoką dostępność SQL określaną jako Availability Group. O ile proces konfiguracji jest dość intuicyjny to aktualizacja baz danych już nie do końca.


Rys.1. Konfiguracja SQL Store
Dla SQL pracującego w trybie Availability Group definiuje się dwa parametry, dwa adresy URL:
  • SQL Server Availibility Group Listener FQDN
  • SQL Server FQDN

 W standardowej konfiguracji oba adresy URL mają taką samą wartość.


Rys. 2. Konfiguracja SQL Availability Group

Aktualizacje Skype for Business Server przychodzą w postaci pakietów zbiorczych. Sam proces ich instalacji jest dosyć prosty. Wyłączamy usługi SFB na wszystkich serwerach Front End poleceniem:
Stop-CsWindowsService
Potem instalujemy pakiet SkypeServerUpdateInstaller.exe

Następnie należy zaktualizować schemat i konfigurację baz danych na serwerze SQL (Back End Server). W tym celu należy wykonać polecenie:

Install-CsDatabse  –Update -ConfiguredDatabase -sqlServerFQDN  -verbose

Niestety kreator aktualizacji wywali się dość dziwnym komunikatem błędu, iż konto nie może się dostać do WMI serwera SQL. Wstępne próby weryfikacji uprawnień nie rozwiązały problemu, gdyż w rzeczywistości problem jest w innym miejscu.
Rys.3. Okno błędu kreatora aktualizacji baz danych

Problemy leży w adresie URL serwera SQL.
Rys.4. Modyfikacja adresu URL serwera SQL na czas aktualizacji baz danych
Aby prawidłowo zaktualizować bazy należy:

  • Zmodyfikować adres FQDN serwera SQL – na adres fizycznego węzła na którym jest aktywna instancja availability group związanej z bazami danych SFB,
  • Opublikować topologię,
  • Uruchomić polecenie: Install-CsDatabse –Update -ConfiguredDatabase -SqlServerFQDN -verbose.
Teraz aktualizacja zakończy się powodzeniem
Rys.5a. Aktualizacja baz SQL Skype for Business

Rys.5b. Aktualizacja baz SQL Skype for Business

Następnie należy ponownie zmodyfikować adres URL serwera SQL na pierwotny i ponownie opublikować topologię. Po czym uruchomić usługi na serwerach Front End:

Start-CsWindowsService