Uvod v Powershell za upravljanje Office 365

Office 365 omogoča več načinov upravljanja. Najpogosteje se odločimo za upravljanje z uporabo spletnega vmesnika. Ta način je primeren za manjše spremembe v imeniku Azure AD in storitvah Exchange Online, SharePoint Online in drugih. Manj primeren je za masovne spremembe, včasih pa kakšna nastavitev v spletnem vmesniku sploh ni na voljo. Takrat uporabimo pristop z uporabo Powershell. Velja omeniti, da je ta članek nekoliko bolj tehničnega značaja.

tl;dr

Če imate malo časa in vas umazane podrobnosti ne zanimajo, sledite temu prvemu razdelku. Da bo vse skupaj delovalo, morate dovoliti zagon oddaljeno podpisanih ukazov. Zaženite PowerShell kot skrbnik in zaženite nekaj ukazov:

Set-ExecutionPolicy RemoteSigned
Install-Module AzureAD
Install-Module MSOnline

Celoten niz ukazov, ki vas bo povezav v Azure AD, Exchange Online, SharePoint Online in Skype for Business, sledi spodaj. Predpostavljamo, da ne uporabljate MFA.

$domainHost="<ime primarne domene, na primer edusfera za edusfera.onmicrosoft.com>"
$credential = Get-Credential
Import-Module AzureAD
Connect-AzureAD -Credential $credential
Import-Module MsOnline
Connect-MsolService -Credential $credential
$exchangeSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $credential -Authentication Basic -AllowRedirection
Import-PSSession $exchangeSession
Import-Module Microsoft.Online.SharePoint.PowerShell -DisableNameChecking
Connect-SPOService -Url https://$domainHost-admin.sharepoint.com -credential $credential
Import-Module SkypeOnlineConnector
$sfboSession = New-CsOnlineSession -Credential $credential
Import-PSSession $sfboSession

Ob koncu dela morate povezavo z vsemi storitvami prekiniti s spodnjimi ukazi:

Remove-PSSession $sfboSession
Remove-PSSession $exchangeSession
Disconnect-SPOService

Če vas zanimajo tehnične podrobnosti, nadaljujte z branjem.

Predpogoji za delovanje

Za uspešno delo si moramo najprej pripraviti ustrezne pogoje v našem okolju. Trenutno je polno podprto delo v Windows okolju. Powershell je na voljo v okviru Windows Management Framework. Najnovejša podprta različica v času tega zapisa je 5, a je v pripravi je tudi že naslednja različica. Vso koda v nadaljevanju je preverjena na različici 5. Powershell je v novejših različicah operacijskih sistemov že nameščen. Navodila, kje ga najti, so na voljo tule. Sistemske zahteve so objavljene tule.

Za povezovanje z različnimi storitvami bomo potrebovali tudi naslednje:

  1. Microsoft Online Services Sign-in Assistant for IT Professionals RTW
  2. SharePoint Online Management Shell
  3. Modul Exchange Online PowerShell (le v primeru povezovanja z uporabo MFA)
  4. Skype for Business Online, Windows PowerShell Module

Prvi problem nastane že pri povezovanju z Azure AD. Obstajata namreč dve različici. Medtem, ko je prva različica po trenutnih informacijah zastarela in se na uradnih kanalih spodbuja uporaba druge in se ta tudi še redno vzdržuje, pa so spremembe kar precejšnje in nekatere možnosti v novejši različici še pogrešamo. Cilj tega prispevka ni pregledati novosti med različicama, temveč vzpostaviti povezavo, zato naj bo dovolj pripraviti okolje za oba način povezovanja, tako da boste imeli na voljo vse možnosti upravljanja.

Najprej namestite Microsoft Online Services Sign-in Assistant for IT Professionals, nato pa še preostale tri module (za SharePoint, Exchange Online in Skype for Business Online.

Prijavne informacije

Vnos uporabniškega imena in gesla je lahko zamudno opravilo, še posebej če z geslom sledite dobrim praksam in je geslo kompleksno. Zato bomo najprej za čas opravil shranili dostopne podatke. V okolju PowerShell zaženite spodnje ukaze:

$domainHost="<ime primarne domene, na primer edusfera za edusfera.onmicrosoft.com>"
$credential = Get-Credential

$domainHost nam bo v pomoč pri povezovanju v SharePoint, medtem ko bomo v $credential shranili prijavne informacije.

Azure AD

Zaženite Powershell kot skrbnik in zaženite nekaj ukazov:

Set-ExecutionPolicy RemoteSigned
Install-Module AzureAD
Install-Module MSOnline

Ostale PowerShell ukaze lahko izvajate v navadnem načinu. Na nov način (različica 2) se povežete s spodnjim ukazom:

Import-Module AzureAD
Connect-AzureAD -Credential $credential

Pojavi se prijavno okno, v katerega se prijavite s skrbniškim računom za Office 365. Če imate vklopljeno MFA (večfaktorsko preverjanje), boste izvedli še to, nato pa bo povezava vzpostavljena. Če potrebujete na voljo tudi ukaze iz stare različice, pa zaženite še spodnji ukaz:

Import-Module MsOnline
Connect-MsolService -Credential $credential

Podobno, kot pri prejšnjem primeru se boste prijavili in povezava bo vzpostavljena.

Exchange Online

Načina povezovanja sta dva. V primeru, da MFA ne uporabljate, preprosto izvedete spodnje ukaze:

$exchangeSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $credential -Authentication Basic -AllowRedirection
Import-PSSession $exchangeSession

Če uporabljate MFA (kar zelo priporočam), potem boste za povezovanje namestiti in uporabiti Modul Exchange Online PowerShell. Po namestitvi boste v sistemu našli bližnjico, ki jo zaženete, nato pa v tem oknu zaženete ukaz:

Connect-EXOPSSession -Credential $credential

Po uspešni vzpostavitvi povezave, imate na voljo vse ukaze za Exchange Online.

Ob koncu dela morate povezavo z Exchange Online prekiniti s spodnjim ukazom:

Remove-PSSession $exchangeSession

S tem ste povezavo prekinili. Število aktivnih povezav je namreč bolj omejeno kot pri AzureAD, zato je odjava priporočljiva.

SharePoint Online

Pazi, da ste namestili SharePoint Online Management Shell, nato pa zaženite spodnje ukaze:

Import-Module Microsoft.Online.SharePoint.PowerShell -DisableNameChecking
Connect-SPOService -Url https://$domainHost-admin.sharepoint.com -credential $credential

$domainHost smo definirali povsem na začetku tega prispevka.

Ob koncu dela morate povezavo z SharePoint Online prekiniti s spodnjim ukazom:

Disconnect-SPOService

S tem ste povezavo prekinili. Število aktivnih povezav je namreč bolj omejeno kot pri AzureAD, zato je odjava priporočljiva.

Skype for Business

Če ste namestili Skype for Business Powershell Module, lahko zaženete spodnje ukaze:

Import-Module SkypeOnlineConnector
$sfboSession = New-CsOnlineSession -Credential $credential
Import-PSSession $sfboSession

Ob koncu dela morate povezavo z SharePoint Online prekiniti s spodnjim ukazom:

Remove-PSSession $sfboSession

S tem ste povezavo prekinili. Število aktivnih povezav je namreč bolj omejeno kot pri AzureAD, zato je odjava priporočljiva.

Viri in več podrobnosti

Pri pripravi te objave smo si pomagali s preteklimi izkušnjami in dokumentacijo, dostopno na spodnjih naslovih: