Hoe verbind ik met Exchange Online Powershell?

Gepubliceerd op 6 augustus 2022 door Rense Middelbos

Het beheren van Exchange Online met PowerShell maakt een hoop dagelijkse taken een stuk eenvoudiger (en sneller). Niet alleen voor je dagelijkse taken kan je PowerShell nodig hebben, maar sommige instellingen in Exchange Online kunnen alleen worden gewijzigd met PowerShell. Dus hoe maak je verbinding met Exchange Online met PowerShell?

Vereisten voor Exchange Online Powershell

De laatste versie van Exchange Online Powershell (EXO V2), welke we gaan gebruiken ondersteund moderne authenticatie en zal werken met MFA. Je hoeft dus geen app wachtwoord meer aan te maken. Zoals dat voorheen wel het geval was.

Voordat je verbinding kan maken met Exchange Online via Powershell moet je jouw systeem instellen om het uitvoeren van scripts toe te staan. Standaard staat dit uitgeschakeld. Je hoeft dit maar één keer per computer in te stellen. Als je de execution policy niet hebt ingesteld en je probeert verbinding te maken met Exchange Online dan krijg je een foutmelding:

Files cannot be loaded because running scripts is disabled on this system. Provide a valid certificate with which to sign the files.

# Actie
1. Druk op de Windows toets + X en kies Windows PowerShell (admin)
2. Stel het uitvoeringsbeleid in op RemoteSigned:

[powershell]Set-ExecutionPolicy RemoteSigned[/powershell]

Installeer de Exchange Online V2-module in PowerShell

We moeten eerst de EXO V2 Module installeren in PowerShell voordat we verbinding kunnen maken met Exchange Online.

# Actie
1. Druk op de Windows toets + X en kies Windows PowerShell (admin)
2. Installeer PowerShellGet als deze nog niet is geïnstalleerd.

[powershell] # Sluit en heropen je PowerShell venster wanneer je klaar bent
Install-Module -Name PowerShellGet -Force[/powershell]
3. We kunnen nu de laatste Exchange Online PowerShell module installeren met de Install-Module cmdlet

[powershell] # Voeg -Force toe aan het commando als je EXO V1 moet updaten.
Install-Module -Name ExchangeOnlineManagement -Force[/powershell]

Automatisch controleren of EXO-module is geïnstalleerd

Ga je de Exchange Online module gebruiken in een script? Zorg er dan voor dat je automatisch controleert of de module is geïnstalleerd voordat je probeert te verbinden. Met behulp van één cmdlet kunnen we in PowerShell een lijst maken van alle geïnstalleerde modules. Je kunt onnodige fouten voorkomen door simpelweg te controleren of de ExchangeOnlineManagement module beschikbaar is.

# Actie
1. [powershell](Get-Module -ListAvailable -Name ExchangeOnlineManagement) -ne $null[/powershell]

Bovenstaande cmd zou een lijst moeten opleveren met geïnstalleerde Exchange Online modules. Als het resultaat leeg is, dan weten we dat de module niet is geïnstalleerd.

Verbinding maken met Exchange Online met PowerShell

Na het installeren van de Exchange Online Module kunnen we nu eenvoudig verbinding maken met Exchange Online met een enkele cmd in PowerShell:

# Actie
1. [powershell] Connect-ExchangeOnline -UserPrincipalName middelbos@dusdandit.nl [/powershell]

De nieuwe EXO V2 module ondersteunt ook het verbinden met een andere tenant. Als je een Microsoft Partner bent en je wilt verbinding maken met een andere tenant, dan kunt je verbinding maken door de DelgatedOrganization switch toe te voegen.

# Actie
1. [powershell] Connect-ExchangeOnline -UserPrincipalName middelbos@dusdandit.nl -DelegatedOrganization dusdandit.onmicrosoft.com [/powershell]

Vers van de pers…

Hoe zet ik leesbevestigingen uit binnen WhatsApp?

16 februari 2023

Hoe schakel ik end-to-end encryptie in voor een WhatsApp back-up?

16 februari 2023

Hoe stel ik twee-staps verificatie in op WhatsApp?

16 februari 2023