08 listopada 2018

Zarządzanie chmurą z Powershell - ładowanie modułów

We wcześniejszym wpisie przedstawiłem kroki, które dobrze jest wykonać na standardowym komputerze Windows 10, przy pomocy którego chcemy administrować środowiskiem Office 365 i Azure. Piszę "i", a nie "lub", ponieważ środowiska te coraz głębiej się przenikają i o ile 2-3 lata temu można było zarządzać Office 365 bez odwoływania się do Azure, to teraz robi się to coraz trudniejsze.
Ale przejdźmy do konkretów - poszczególne obszary funkcjonalne mogą być zarządzane z poziomu Powershella, ale ponieważ są rozwijane przez różne grupy produktowe, więc jak można się domyślać, mamy do tego oddzielne moduły. Poniżej lista modułów, które dobrze jest zainstalować na swojej stacji administracyjnej.










Oprócz zaktualizowanej wersji modułu PowerShellGet widać tutaj moduły do zarządzania kontami chmurowymi i domenami chmurowymi, kontami AzureAD, również z użyciem Microsoft Graph (AzureADPreview) oraz kilka modułów dodatkowych jak np. Exch-Rest, opracowany przez Glena Scalesa, na potrzeby wykonywania akcji na Exchange Online z użyciem Rest API. Innym ciekawym modułem jest SharepointPnPPowerShellOnline, który pozwala na dodatkowe operacje na środowisku Sharepoint Online. Na powyższej liście nie widać modułów do Sharepointa online i Skype for Business Online.  Niestety trzeba je instalować i aktualizować w sposób tradycyjny. Jeżeli używamy dla kont administracyjnych MFA, to również dla Exchange online musimy pobrać dedykowany moduł. Jest on dostępny do pobrania z portalu administracyjnego Exchange Online naszego tenanta.




















W zależności od potrzeb, do wykonywania zadań administracyjnych potrzebujemy często załadować kilka modułów po kolei, do czego najwygodniej użyć skryptu. Kilka takich skryptów można znaleźć w galerii Technet lub na blogach innych specjalistów. Procedura tworzenia takiego skryptu jest opisana również w dokumentacji Office 365. Ja najczęściej korzystam z takiego skryptu. Z lenistwa w skrypcie zapisuję odpowiednie konto administracyjne i odkomentowuję odpowiednie linie dotyczące aktualnie używanych modułów:
#
# get global admin credential
#
$credential = Get-Credential admin@pepug365.onmicrosoft.com
[string]$tenant = 'pepug365'

#
# connect to Azure AD
#
Import-Module MsOnline
Connect-MsolService -credential $credential

#
# connect to Azure AIP
#

import-module AADRM
Connect-AadrmService -Credential $credential

#
# connect to Sharepoint Online
#
Import-Module Microsoft.Online.Sharepoint.PowerShell
Connect-SPOService -url https://$tenant-admin.sharepoint.com -Credential $credential


#
# connect to Exchange Online
#
#$exchSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $credential -Authentication Basic -AllowRedirection
#Import-PSSession $exchSession -DisableNameChecking -AllowClobber
#
# If MFA for Exchange admin is enabled, you should have Exchange Online Remote PowerShell Module locally
# and use cmdlet below
#
Connect-EXOPSSession -UserPrincipalName admin@pepug365.onmicrosoft.com

#
# connect to Skype for Business Online
#
Import-Module SkypeOnlineConnector
$sfboSession = New-CsOnlineSession -Credential $credential
Import-PSSession $sfboSession

#
# connecto to Microsoft Teams
#
Import-Module -Name MicrosoftTeams
Connect-MicrosoftTeams -Credential $credential

Brak komentarzy: