23 maja 2018

Zarządzanie chmurą z Powershell - przygotowanie

UPDATED: dodatkowe obrazki z obejściem problemu z repozytorium

Niedawno przygotowywałem krótką prezentację o zarządzaniu Office 365 z poziomu Powerhell. Na moim komputerze jest to proste - odpowiednie moduły instalowałem przez kolejne miesiące, jednak na świeżych komputerach z Windows 10 zauważyłem wiele drobnych problemów.
Dlatego też uznałem, że warto jest zrobić krótkie podsumowanie.
Większość modułów, która jest używana do zarządzania środowiskiem Office 365 lub Azure dostępna jest i aktualizowana w PowerShell Gallery (www.powershellgallery.com). Kiedy jednak chcemy je zainstalować w systemie, pojawiają się błędy. W czym leży problem?
Do instalacji modułów powershell z galerii używany jest moduł PowerShellGet, który w Windows 10 dostarczany jest domyślnie z systemem w ramach PowerShell 5. Niestety dostarczany jest on w wersji 1.0.0.1, jak widać na poniższym obrazku po wykonaniu komendy
get-module PowerShellGet -ListAvailable









Dodatkowo pomocniczy pakiet NuGet również nie jest najnowszy i próba instalacji modułu zwraca komunikat o potrzebie aktualizacji dostawcy. Co powinniśmy zatem zrobić? Wymusić aktualizację obu pakietów, jak pokazują kolejne obrazki. Aktualna wersja pakietu NuGet w momecie pisania artykułu to 2.8.5.208:





W niektórych wypadkach dobrze jest po aktualizacji NuGet zamknąć powłokę, bo nie zawsze odświeżą się zmienne środowiskowe i kolejna próba instalacji znowu stwierdzi, że wersja NuGet jest zbyt stara.
Oczywiście wszystkie instalacje wykonujemy w kontekście administratora.
Teraz czas na aktualizację PoweShellGet. Ponieważ był instalowany z systemem, nie możemy użyć cmdleta update-module, musimy wymusić instalację:


Sprawdzamy rezultat:









Jak widać, jest wersja oryginalna i wersja najnowsza, którą możemy już normalnie aktualizować i domyślnie używać.
Czasami jednak możemy natknąć się na taki problem, sygnalizujący brak dostępu do repozytorium:







O co chodzi? Sprawdzam dostępne dla maszyny repozytoria i faktycznie widać jego brak:



Po zarejestrowaniu galerii pojawia się ona na liście repozytoriów, jak pokazuje kolejny obrazek (co ciekawe, nie działa komenda standardowa, z podaniem nazwy i urla PSGallery, trzeba użyć komendy z opcją domyślną -  Register-PSRepository -Default.







Mając zaktualizowany moduł PoweShellGet możemy również użyć nowych cmdletów w nim zawartych (np. get-installedmodule). Jednak przy instalacji lub aktualizacji modułów otrzymamy komunikat:







Możemy się go pozbyć w prosty sposób, wykonując komendę jak na kolejnym obrazku:




Teraz już bez problemów możemy przystąpić do zarządzania środowiskiem chmurowym, instalując potrzebne moduły, takie jak MSOnline, AzureAD, AADRM, AzureRM, MicrosoftTeams. Trochę więcej na ten temat napiszę w kolejnym poście z tego cyklu.

09 maja 2018

Adresy i nazwy niezbędne dla pracy z Office 365

Jednym z częściej pojawiających się problemów przy wdrażaniu Office 365, zwłaszcza przy modelu hybrydowym Exchange i Skype dla Firm, jest odpowiednie skonfigurowanie reguł i wykluczeń na urządzeniach sieciowych, odpowiedzialnych za zabezpieczanie dostępu i publikację usług. Wiąże się to z rozległością usługi Office 365 - bardzo duża liczba adresów IP oraz nazw domenowych hostów, dla kórych administrator sieci powinien ruch przepuścić, tak żeby usługi działały poprawnie (w przypadku hybrydy Exchange jest to szczególnie ważne w odniesieniu do usług SMTP i autodiscover).
Żeby taką procedurę ułatwić, Microsoft opublikował i stale aktualizuje na stronach pomocy technicznej odpowiednią specyfikację - Office 365 URLs and IP address ranges (łatwiej zapamiętać skrót - http://aka.ms/o365ip). Lista ta jest również dostępna w postaci arkusza csv oraz pliku xml, Mozna również znaleźć w internecie narzędzia społecznościowe, które konwertują takie pliki do formatu łatwo przyswajanego przez firewalle, jak np. Azure Range.
Jednak dla uproszczenia aktualizacji konfiguracji już niebawem Microsoft udostępni usługę w formie web service'u, która będzie pozwalała na pobieranie listy w sposób automatyczny z użyciem REST w formatach JSON i csv. Wtedy dotychczasowy sposób publikacji informacji zostanie zatrzymany.
Żeby zacząć testować usługę i przeczytać więcej informacji, w jaki sposób pobierać dane, dobrze jest zajrzeć na stronę Zarządzanie punktami końcowymi usługi Office 365 - zakładka nr 4, gdzie podane są nawet przykłady użycia - np. pobranie nazw i adresów IP punktów końcowych dla usługi Exchange Online.