$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking
Import-Csv C:\365\sharedcalender.csv | foreach { add-MailboxFolderPermission -Identity "\calendar" -User $_.alias -AccessRights PublishingEditor }
Alle gebruikers open zetten met Reviewer rechten voor 1 gebruiker.
Get-Mailbox | foreach{ Add-MailboxFolderPermission $($_.UserPrincipalName+":\Calendar") -User -AccessRights Reviewer }

You can get the name of the calendar in the current user’s language configuration with the command:

(Get-MailboxFolderStatistics -FolderScope Calendar).Identity

All Mailbox Agenda Rights

$allMailboxes = Get-Mailbox -ResultSize Unlimited | Select-Object -Property Alias,Displayname,PrimarySMTPAddress
$totalMailboxes = $allMailboxes.Count
$i = 1 
$allMailboxes | ForEach-Object {
$mailbox = $_
Write-Progress -activity "Processing $($_.alias)" -status "$i out of $totalMailboxes completed"
$folderPerms = Get-MailboxFolderPermission -Identity "$($_.PrimarySMTPAddress):\Agenda"
$folderPerms | ForEach-Object {
$Result += New-Object PSObject -property @{
Identity = $_.Identity
MailboxName = $mailbox.alias
User = $_.User
Permissions = $_.AccessRights
$Result | Select Identity, MailboxName, User, Permissions |
Export-CSV "C:\MailKadans\CalendarPermissions_Agenda.CSV" -NoTypeInformation -Encoding UTF8