Sætte rettigheder på kalender og opgave mapper i Office 365 og Exchange

For at der kan synkronisere kalenderaftaler og opgaver mellem 360 Business Tool og Office 365 / Exhange kræver det at der gives rettigheder til dette.

Vi anbefaler at der oprettes en service mailboks som har rettigheder til alle brugernes kalender og opgave mapper (Calendar and Tasks folders). (I vores eksempler har denne konto e-mail adressen [email protected])

Vores service account skal bruge rettigheden Editor på mapperne Calendar og Tasks. Bemærk disse to mappers navne er afhængig af brugeres sprogopsætning i Office 365, så hvis det er en dansk bruger hedder de normalt Kalender og Opgaver.

Der er flere måder hvorpå rettigheder kan tildeles.

1) Manuelt af den enkelte bruger i Outlook
Fra mappelisten i Outlook vælges mappen Kalender, Højreklik, Egenskaber, Tilladelser, Tilføj: [email protected], Tilladelsesniveau: Redaktør.

Det samme gøres på mappen Opgaver

2) PowerShell for en enkelt bruger
Start PowerShell og forbind PowerShell til Exchange Online.

Udfør følgende kommandoer:
Add-MailboxFolderPermission -Identity "[email protected]:\Kalender" -User [email protected] -AccessRights Editor
Add-MailboxFolderPermission -Identity "[email protected]:\Opgaver" -User [email protected] -AccessRights Editor

I eksemplet er de danske mappenavne benyttet. Disse skal udskriftes hvis brugeren ikke kører med dansk sprog.

3) PowerShell for alle brugere (eller en delmængde af dem)
Hvis der er mange brugere kan nedenstående script med fordel benyttes.
Scriptet fungerer med engelske og danske mappenavne og kan downloaded her (omdøb filen til .ps1 efterfølgende)


# Connect to Office 365 (remove these three lines for on-premise usage)
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking


#Change this to the email adress of your 360 Syncronize Service Account Mailbox
$TSZ = "[email protected]@example.com"
#Change this to include the desired. Examples:
#$users = Get-User -OrganizationalUnit "Sales"
#$users = get-user [email protected]
$users = get-user
$360ExchangeFolders = "^/Kalender$|^/Opgaver$|^/Calendar$|^/Tasks$"
foreach ($user in $users) {
Write-Host "user: $user"
$mailbox = $null
$mailbox = Get-mailbox -Identity $user.Identity -ErrorAction SilentlyContinue
if ([bool]$mailbox)
{
Write-Host $mailbox.PrimarySmtpAddress
$alias = $mailbox.alias;
[string[]] $FolderPaths = Get-MailboxfolderStatistics $alias | % {$_.folderpath}
if ([bool]$FolderPaths)
{
$UsableFolderPaths = $FolderPaths | where { $_ -match $360ExchangeFolders }
$UsableExchangeFolderPaths = $UsableFolderPaths | % {$alias + ":" + $_.replace('/','\')}
if ([bool]$UsableExchangeFolderPaths)
{
foreach ($folder in $UsableExchangeFolderPaths) {
$folder
if ([bool](get-mailboxfolderPermission $folder -User $TSZ -ErrorAction SilentlyContinue))
{
Write-Host "Changing permission to: Editor" -ForegroundColor Green
Set-MailboxFolderPermission -Identity $folder -User $TSZ -AccessRights Editor -WarningAction SilentlyContinue
}
else {
Write-Host "Adding permission: Editor" -ForegroundColor Green
Add-MailboxFolderPermission -Identity $folder -User $TSZ -AccessRights Editor
}
}
}
else
{
Write-Host "!No folders found!" -ForegroundColor Red
}
}
}
else
{
Write-Host "!No mailbox found!" -ForegroundColor Red
}
}

Når du har ændret rettigheder skal du kontrollere om servicekontoen har adgang til brugernes kalendre og opgaver