Définir des droits sur une ressource (ou compte utilisateur) Office 365 en Powershell

Définir des droits sur une ressource (ou compte utilisateur) Office 365 en Powershell

Article pour les barbus, aujourd’hui pas de GUI que du Powershell !

Si vous avez lu mes précédents articles vous avez très certainement compris que j’avais fait une migration Exchange 2007 vers Office 365. Suite à la migration j’ai rencontré quelques soucis de droit sur certain calendrier d’utilisateurs et les calendriers des ressources (salles et équipements).

Pré-requis :

  • Avoir un compte administrateur
  • Console Powershell lancé en administrateur

Etape 1: On se connecte au service Office 365

Dans la console Powershell on tape la commande suivante :

$UserCredential = Get-Credential

Le but de cette commande est de stocker dans une variable les credentials (ID et pass) de l’administrateur. Une fenêtre comme celle-ci (voir ci-dessous) vous demande de renseigner vos informations administrateur.

credential

Ensuite cette commande:

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

Comme vous pouvez le voir on se connecte sur outlook.office365.com avec la variable $UserCredential (renseignée plus haut). Tout ceci stocké dans la variable $Session.

On lance la session:

Import-PSSession $Session

EDIT: Après la saisie de la commande vous pouvez avoir ce retour d’erreur :

edit1

Pour la corriger il suffit de désactiver la protection (sur la session powershell en cours et non de manière permanente) via cette commande :

Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser -Force

Pour infos le Set-ExecutionPolicy se contente de modifier la valeur ExecutionPolicy dans la clé HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.Powershell du registre.

Étape 2: Modifier les droits

On modifie les droits par cette commande:

Set-MailboxFolderPermission -Identity adressemail1@nomdedomaine.fr:\Calendrier -User adressemail2@nomdedomaine.fr -AccessRights Editor

Une petite explication s’impose.

Set-MailboxFolderPermission, c’est le nom de la commande qui très explicitement nous informe que nous modifions les droits d’un dossier d’une boite mail.

-Identity suivi de adressemail1@nomdedomaine.fr:\Calendrier définit la ressource concernée (équipement ou salle), et :\Calendrier ou :\Calendar (selon le langue définie), indique l’emplacement, dans notre exemple, le calendrier de la ressource.

-User adressemail2@nomdedomaine.fr, le nom de la personne à qui nous définissons les droits

-AccesRights Editor, définit l’utilisateur en tant que propriétaire du calendrier de la ressource adressemail1@nomdedomaine.fr

ATTENTION Editor est modifiable, je m’explique, cette commande définie le destinataire en tant que propriétaire, vous pouvez bien évidemment mettre une autre commande par celles ci-dessous :

Author :  CreateItems, DeleteOwnedItems, EditOwnedItems, FolderVisible, ReadItems

Contributor :  CreateItems, FolderVisible

Editor :   CreateItems, DeleteAllItems, DeleteOwnedItems, EditAllItems, EditOwnedItems, FolderVisible, ReadItems

None :   FolderVisible

NonEditingAuthor :   CreateItems, FolderVisible, ReadItems

Owner :   CreateItems, CreateSubfolders, DeleteAllItems, DeleteOwnedItems, EditAllItems, EditOwnedItems, FolderContact, FolderOwner, FolderVisible, ReadItems

PublishingEditor :   CreateItems, CreateSubfolders, DeleteAllItems, DeleteOwnedItems, EditAllItems, EditOwnedItems, FolderVisible, ReadItems

PublishingAuthor :   CreateItems, CreateSubfolders, DeleteOwnedItems, EditOwnedItems, FolderVisible, ReadItems

Reviewer :   FolderVisible, ReadItems

Une fois votre commande validée vous obtenez cette écran (normalement) :

droitPS

Attention dans certain cas, la commande Set-MailboxFolderPermission ne passe pas et cette page s’affiche :

failsetps

Dans le screen ci-dessus, le destinataire des droits définis n’est pas trouvé, dans ce cas la commande n’est pas Set-MailboxFolderPermission (modifier les droits) mais Add-MailboxFolderPermission (ajouter les droits). Il se peut aussi qu’il ne trouve pas adressemail1@nomdedomaine.fr:\Calendrier, parce que la langue définie est en anglais (ou tout autre langue) et donc il faudra saisir adressemail1@nomdedomaine.fr:\Calendar (ou le mot calendrier dans la langue de la ressource).

Voilà, vous savez modifier ou ajouter des droits sur des calendriers de ressources ou équipement (la commande fonctionne aussi pour des comptes utilisateurs).

giphy

Alexandre Carbonnier

Laisser un commentaire