PI Services

Le blog des collaborateurs de PI Services

Exchange 2013_Impossible de supprimer l'autorisation Envoyer en tant / Accès total

Symptômes:

Lorsque vous essayez de supprimer l'autorisation « Accès total » ou « Envoyer en tant que »  sur une boite aux lettres, vous pouvez être confronté aux messages d’avertissements indiquant que l’entrée de contrôle d’accès ne peut pas être supprimée.

Ce problème apparaîtra quand vous essayez de supprimer l'autorisation à l'aide du PowerShell Exchange ou depuis l'interface graphique.

  •  A la suppression de l’autorisation « Envoyer en tant que» via la console d’administration ECP, vous aurez  le message d’avertissement ci-dessous :
  • Quand vous supprimez l’autorisation « Accès total» , pas de message d’avertissement , mais la délégation n’est pas supprimée.
  • A la suppression de l’autorisation « Full Access/ send as » depuis une BAL en powershell,  vous aurez les messages d’avertissement suivants :

Solution:

Les étapes suivantes s'appliquent pour les boites aux lettres liées. La solution de contournement consiste à déconnecter la BAL de l'utilisateur, modifier les autorisations puis la reconnecter :

Exemple : Supprimer l’autorisation de User01 sur la BAL de User02:

  • Exécutez la commande suivante: Set-User -Identity useridentity -LinkedMasterAccount $null Cette commande permet de dissocier la boîte aux lettres liée et la convertir en boîte aux lettres utilisateur.

    Le paramètre Identity spécifie l'utilisateur que vous souhaitez modifier. Vous pouvez utiliser n'importe quelle valeur qui identifie l'utilisateur de manière unique. Par exemple:

    • Name
    • Distinguished name (DN)
    • Canonical DN
    • GUID
    • UserPrincipalName
  • Supprimez par la suite les autorisations en exécutant les commandes suivantes :

    Pour supprimer la délégation Full Access  Remove-MailboxPermission -Identity MailboxAccount -User UserAccount -AccessRights FullAccess -InheritanceType All

    Exemple:  Remove-MailboxPermission -Identity "user02" -User "User01" -AccessRights FullAccess -InheritanceType All

    Pour supprimer la délégation Send As  Remove-ADPermission -Identity "MailboxAccount" -User "UserAccount" -ExtendedRights "Send As"

    Exemple: Remove-ADPermission -Identity " User02" -User " User01" -ExtendedRights "Send As"

  • Une fois les délégations supprimées, reconnectez de nouveau la boite aux lettres de l’utilisateur via la commande :

    Set-User -Identity “UserAccount” – LinkedDomainController “domaincontroller” -LinkedMasterAccount “DomainName\user

    Exemple:  Set-User -Identity User01@contoso.com – LinkedDomainController dc01.contoso.com -LinkedMasterAccount “contoso\User01”

  • Vérifier par la suite que les autorisations ont été bien supprimées.

Exchange 2013/2016_Le groupe de distribution dynamique renvoie tous les utilisateurs avec le filtre "RecipientContainer"

Lorsque vous créez un groupe de distribution dynamique dans Exchange 2016/2013 avec le filtre "RecipientContainer", l'onglet Aperçu n'existe plus, il fallait donc passer par Exchange Powershell pour afficher les membres du groupe.

Pour afficher l'appartenance au groupe de distribution dynamique, la commande Exchange PowerShell est simple et rapide:

Get-Recipient -RecipientPreviewFilter (Get-DynamicDistributionGroup "DynamicGroupName").RecipientFilter

Malheureusement, comme votre groupe de distribution utilise le paramètre "RecipientContainer", la commande ci-dessus ne fonctionnera pas correctement et affichera tous les destinataires quel que soit leurs unités organisationnelles.

Pour contourner le problème, utilisez plutôt les commandes suivantes:

  1. Créez tout d'abord une variable qui stockera les résultats de la commande:
    $DDL = Get-DynamicDistributionGroup "DynamicGroupName
  2. Utilisez la variable avec la commande Get-Recipient pour renvoyer les résultats requis : Get-DynamicDistributionGroup $DDL | ForEach {Get-Recipient -RecipientPreviewFilter $_.RecipientFilter -OrganizationalUnit $_.RecipientContainer} | Select DisplayName,PrimarySMTPAddress,OrganizationalUnit | Sort-Object -Property DisplayName

 

Office365/Exchange 2013/2016_Installation et configuration de l'agent des stratégies de routage du carnet d'adresses

Problématique:

Si vous avez plusieurs GAL dans l'environnement de messagerie séparées à l'aide de politiques de carnet d'adresses, un utilisateur de la GAL1 peut afficher les informations de contact de l'utilisateur GAL2. Pour éviter ça, vous pouvez activer l'agent de routage ABP.

Le routage des stratégies de carnet d’adresses contrôle la façon dont les destinataires sont résolus dans les organisations utilisant des stratégies de carnet d’adresses. Lorsque l'agent de routage ABP (Address Book Policy) est installé et configuré, les utilisateurs affectés à différentes listes d’adresses globales (GAL) apparaissent en tant que destinataires externes.

Pour Installer l'agent de routage des stratégies de carnet d'adresses :

  1. Exécuter la commande suivante dans un environnement Exchange powershell :

Install-TransportAgent -Name "ABP Routing Agent" -TransportAgentFactory "Microsoft.Exchange.Transport.Agent.AddressBookPolicyRoutingAgent.AddressBookPolicyRoutingAgentFactory" -AssemblyPath $env:ExchangeInstallPath\TransportRoles\agents\AddressBookPolicyRoutingAgent\Microsoft.Exchange.Transport.Agent.AddressBookPolicyRoutingAgent.dll

Ignorer pour le moment le message d’avertissement indiquant que le service de transport doit être redémarré pour que vos modifications soient appliquées et passer à l'étape 2 de manière à ne redémarrer le service de transport qu'une seule fois.

  1. Activer l’agent en exécutant la commande suivante :

Enable-TransportAgent "ABP Routing Agent"

  1. Redémarrer le service de transport en exécutant la commande suivante :

Restart-Service MSExchangeTransport

  1. Après le redémarrage du service, vérifier que l'agent de routage des stratégies de carnet d'adresses est installé et activé en exécutant la cmdlet suivante :

Get-TransportAgent

Si l’agent de routage de carnet d’adresses est répertorié, donc il a été correctement installé.

  1. Activer par la suite le routage des stratégies de carnet d'adresses pour l'organisation en exécutant la commande suivante :

Set-TransportConfig -AddressBookPolicyRoutingEnabled $true

Désormais, les autres utilisateurs de la liste d’adresses globale GAL1 ne peuvent plus afficher les autres utilisateurs de la liste d’adresses globale GAL2

Exchange hybride : Impossible de partager le calendrier "tous les détails" et "détails limités" à partir d'Outlook

Problème

Lorsqu'un utilisateur On premises tente de partager son calendrier avec un utilisateur Office 365, il reçoit le message d’erreur suivant :

Cause

Ce problème se produit si la stratégie de partage n’autorise pas l’utilisateur à partager le niveau de détails que l’utilisateur a défini dans l’invitation de partage.

Solution

Pour résoudre ce problème, suivez les étapes suivantes :

  1. Ouvrez le Centre d’administration Exchange, cliquez sur Organization --> Sharing
  2. Double-cliquez sur "Default Sharing Policy (DEFAULT)"
  3. Cette règle indique que vous ne pouvez partager que l'autorisation « Disponibilité uniquement » avec les autres organisations.

    Vous pouvez soit modifier la règle de partage  « Toutes les informations de calendrier, notamment l'heure, l'objet, l'emplacement et le titre » pour tous les domaines

  4. Ou vous créez une nouvelle règle de partage pour votre domaine smtp qui est partagé dans Office 365 et attribuez "Toutes les informations de calendrier, notamment l'heure, l'objet, l'emplacement et le titre". 
  5. Cliquez ensuite sur "Enregistrer"

Erreur installation de correctif: L'assistant d'installation pour la mise à jour de sécurité Exchange s'est terminé prématurément

Lors de l'installation d'un correctif de sécurité pour Exchange Server 2016, l'erreur suivante a été rencontrée « Setup Wizard for Security Update for Exchange Server 2016 cumulative Update…. ended prematurely »

L'erreur est due à une installation incomplète qui a entraîné la désactivation des services messagerie.

Résolution:

  • Définir les services Exchange sur Automatique et démarrer-les:

Get-Service -Name MSE* | Set-Service -StartupType Automatic
Set-Service -Name MSExchangeImap4 -StartupType Disabled
Set-Service -Name MSExchangeIMAP4BE -StartupType Disabled
Set-Service -Name MSExchangePop3 -StartupType Disabled
Set-Service -Name MSExchangePOP3BE -StartupType Disabled
Write-Host "Starting Services..."
Get-Service -Name MSE* | where {$_.StartType -ne "Disabled"} | Start-Service

  • Démarrer aussi les autres services dépendants comme IIS, Search, etc
  • Exécuter le fichier de correctif cumulatif dans une invite de commande avec l'option « Exécuter en tant qu'administrateur ». Ceci donnera au programme d'installation l'autorisation nécessaire pour installer le correctif avec succès.

--> L'activation et le démarrage des services conduisent à une installation réussie de la mise à jour de sécurité.

Popup mot de passe répétitif lors de la création d'un profil Outlook 2016/365 pour se connecter à Exchange Onpremise 2016

Description

Dans les dernières mises à jour des versions Microsoft Office 2016,  lorsqu’un utilisateur ajoute un nouveau compte Exchange 2016 , il est invité à plusieurs reprises à saisir son nom d’utilisateur et son mot de passe pour aboutir finalement à un échec.

Ce problème est lié à la configuration de découverte automatique qu'Outlook utilise. Microsoft semble avoir défini Outlook pour utiliser leurs serveurs Office 365 comme point de configuration initial indépendamment de la façon dont la découverte automatique est configurée.

Résolution

La résolution consiste à définir une entrée du Registre sur l’ordinateur qui rencontre le problème ayant la valeur dessous:

[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\AutoDiscover]
"ExcludeExplicitO365Endpoint"=dword:00000001

 

Attention: Cette modification ne doit se faire que si un compte Exchange On-Premise est utilisé.

 

 

Echec de la connexion Outlook après migration des boîtes aux lettres Exchange 2010 vers Exchange 2013/2016

Symptômes

Lorsque les boîtes aux lettres sont déplacées depuis Exchange 2010 vers Exchange Server 2013/2016, les utilisateurs ne peuvent plus accéder à leur boîtes aux lettres.

Ce problème se produit dans le scénario suivant:

  • Un utilisateur utilise généralement Outlook Anywhere pour se connecter à sa boîte aux lettres Exchange Server 2010.
  • La boîte aux lettres de l'utilisateur est déplacée vers Exchange Server 2013 ou Exchange Server 2016.
  • Une fois la boîte aux lettres déplacée et l'utilisateur tente de se connecter, le message «L'administrateur Microsoft Exchange a effectué une modification qui requiert que Microsoft Outlook soit fermé puis redémarrer » apparaît.
  • Après le redémarrage d'Outlook, le client reste déconnecté.

Cause

ce problème n’arrive pas trop souvent mais il peut être gênant: Une fois le déplacement de la boîte aux lettres terminé, Exchange Server 2013 ou 2016 continue à transmettre par proxy la demande Autodiscover à Exchange Server 2010 qui rebondit ensuite sur Exchange 2016. Il s’agit de ping-pong des demandes de reconfiguration de profil Outlook jusqu’à ce que le cache d’application de découverte automatique expire et que les informations soient actualisées.

Résolution

Le recyclage du pool d’applications actualise le cache et Outlook se connecte avec succès. Ainsi, pour résoudre ce problème, redémarrer le pool d’applications de découverte automatique sur les serveurs Exchange Server 2013 ou Exchange Server 2016 en exécutant la commande:

Restart-WebAppPool MSExchangeAutodiscoverAppPool

A noter qu'Exchange 2016 est un serveur combinant tous les rôles, mais il s’affiche comme serveur de boîtes aux lettres, ainsi, il faut redémarrer le pool Autodiscover sur chaque serveur Exchange 2016.

Dans un environnement hybride, la boite aux lettres est marquée Remote Mailbox mais elle est introuvable sur Exchange Online

Dans un environnement hybride, un utilisateur avait une boîte aux lettres Exchange Online. La BAL est marquée en tant que boîte aux lettres distante (visible sur Exchange Onpremise) mais la boîte aux lettres Office 365 n'était pas disponible. Dans ce cas, le GUID Exchange Onpremise doit être mis à jour.

Pour ce faire, les étapes ci-dessous ont été réalisées :

  • Accéder à Exchange Management Shell (Onpremise) et sauvegarder les paramètres de la BAL via la commande suivante:

Get-Mailbox "affectedUser" | fl > mailboxinfo.txt

  • Mettre à jour le GUID Exchange à Null sur la boîte aux lettres affectée via l'exécution de la commande:

Set-remotemailbox "affectedUser"  -ExchangeGuid 00000000-0000-0000-0000-0000-0000000000000000000

  • S’assurer que Exchange Guid se reflète correctement :

Get-RemoteMailbox "affectedUser"  | Fl ExchangeGuid 

Get-MailUser "affectedUser"   | fl ExchangeGuid

  • L’étape suivante consiste à supprimer la licence exchange Online, synchroniser, puis à ré ajouter la licence et vérifier l’état :

Get-Mailbox "affectedUser" | fl exchangeGuid,RecipientTypeDetails

  • Récupérer la valeur d'ExchangeGuid
  • Dans Exchange Management Shell (Onpremise), rétablir l’attribut Exchange Online GUID sur la boîte aux lettres distante Set-RemoteMailbox "affectedUser" -ExchangeGuid " ExchangeGuidRecupéré"  Puis vérifier le paramètre via la commande: Get-RemoteMailbox "affectedUser"  | Fl ExchangeGuid 

  • Dans la console Exchange Online, vérifier aussi que l'objet s'affiche en tant que boîte aux lettres utilisateur.

Office 365 : Voir qui a réservé la salle de réunion

Aujourd'hui lorsque l'on utilise Exchange Online et les boites aux lettre de salle, la configuration par défaut du calendrier de ces boites ne permet de voir que le statut de celle-ci soit "Libre ou Occupée" en revanche il n'est pas possible de voir qui a réservé la salle.

C'est parce que par défaut les droits sur le calendrier sont en "AvailabilityOnly", comme le montre la capture ci dessous.

 

 

A l'aide de Powershell, il est possible de modifier les droits sur le calendrier pour afficher qui est la personne ayant fait la réservation, pour ce faire voici les cmdlets.

#Construction de la session Exchange Online
$cred = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $Cred -Authentication Basic -AllowRedirection

# Import de la session
Import-PSSession $Session

# Audit des droits
Get-MailboxFolderPermission -Identity Nom_de_la_Salle_de_réunion:\calendar

# Modification des droits
Set-MailboxFolderPermission -Identity Nom_de_la_Salle_de_réunion:\calendar -User default -AccessRights LimitedDetails

 

Maintenant il est possible de voir le statut de la salle de réunion ainsi que les personnes l'ayant réservé.

Convertir une boîte aux Lettres utilisateur en Boite aux Lettres Partagée dans un environnement hybride

Dans un environnement hybride, la conversion d’une boîte aux lettres utilisateur en une boîte aux lettres standard n'est pas prise en charge, même s'il existe un lien pour le faire depuis le Centre d'administration Exchange Online. Cela semble fonctionner, mais les modifications apportées dans Exchange online ne seront pas nécessairement synchronisées. Pour convertir une boîte aux lettres Utilisateur en boîte partagée, nous devons suivre trois étapes ci-dessous :

  1. Convertir la boîte aux lettres Utilisateur en BAL partagée dans Exchange Online
  2. Modifier les attributs AD Onpremise
  3. Retirer la licence Exchange Online.

Etape 1 :Conversion de la boîte aux lettres Utilisateur en BAL partagée dans Exchange Online :

  • Ouvrir Windows PowerShell et exécuter la commande suivante:

$UserCredential = Get-Credential

  • Dans la boîte de dialogue Demande d’informations d’identification Windows PowerShell, saisir le nom d’utilisateur et mot de passe, puis cliquer sur OK
  • Exécuter les commandes suivantes :

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

Import-PSSession $Session -DisableNameChecking

  • Une fois connecté sur Exchange Online, saisir la commande ci-dessous pour convertir la BAL utilisateur en BAL partagée :

Set-Mailbox MyuserMailbox -Type Shared

Etape 2 : Modification des attributs AD Onpremise

Avant d’apporter des modifications aux objets Active Directory, noter les valeurs avant ou encore sauvegarder tous les attributs AD et leurs valeurs dans un fichier texte: Get-ADUser MyUserMailbox -Properties *> BeforeAttributeModification.txt

 Dans la console Utilisateurs et ordinateurs Active Directory, s’assurer d'avoir activé les fonctionnalités avancées dans l'option de menu Affichage. Ensuite, accéder à l’objet AD (utilisateur), ouvrir ses Propriétés et accéder à l’onglet Editeur d’attribut puis mettre à jour les attributs suivants avec ces valeurs :

  • msExchRemoteRecipientType: 100
  • msExchRecipientTypeDetails: 34359738368

 

 

  Etape 3: Suppression de la licence Exchange Online

Vu que la boîte aux lettres partagée ne nécessite pas de licence, cette dernière est à supprimer : Utiliser tout simplement le portail Office 365, rechercher l'utilisateur sous Utilisateurs actifs et retirer la licence Exchange Online. Après la révocation de la licence, il est important de valider son statut dans Azure AD.

  • Se connecter au Module Microsoft Azure Active Directory pour Windows PowerShell
  • Installer la version 64 bits de l’Assistant de connexion Microsoft Online Services : Assistant de connexion Microsoft Online Services pour les professionnels des technologies de l’information RTW
  • Télécharger et installer le Module Microsoft Azure Active Directory pour Windows PowerShell via l'exécution de la commande Install-Module MSOnline 
  • Taper la commande Connect-MsolService, dans la boîte de dialogue Connectez-vous à votre compte, taper le nom d’utilisateur et le mot de passe du compte d’administration Office 365, puis cliquer sur OK.
  • Ouvrir une invite de commandes Windows PowerShell avec élévation de privilèges (exécuter Windows PowerShell en tant qu’administrateur).

Note : Si l’authentification multifacteur est activée, il est à suivre les instructions des boîtes de dialogue suivantes pour fournir des informations d’authentification supplémentaires telles qu’un code de vérification.

  • Pour vérifier que la licence a été correctement retirée, exécuter la commande :

Get-MSOLUser -UserPrincipalName MyUserMailbox@mylab.com | fl * lic *

L'attribut LicenseReconciliationNeeded devrait être False. Si LicenseReconciliationNeeded retourne True, Exchange Online voit que cette boîte aux lettres nécessite une licence et l’a marque pour suppression avec une période de grâce de 30 jours.