Le blog technique

Toutes les astuces #tech des collaborateurs de PI Services.

#openblogPI

Retrouvez les articles à la une

Exchange Onprem_Déterminer le nombre d’utilisateurs utilisant réellement POP et IMAP

 

Contexte

Il existe de nombreuses boîtes aux lettres dans Exchange onpremise pour lesquelles IMAP et POP sont activés, mais est ce que réellement ces protocoles sont utilisés pour se connecter à Exchange ou pas ?

Démarche

Récupérons tout d’abord les utilisateurs pour lesquels IMAP et POP sont activés dans l’environnement Exchange Onpremise, puis comparons-les aux journaux IMAP et POP.

  1. Télécharger l’outil Log Parser Download Log Parser 2.2 from Official Microsoft Download Center puis installer-le au niveau du poste depuis lequel l’analyse sera effectuée.
  2. Filtrer les utilisateurs avec IMAP et POP activés en exéxutant tout d’abord les commandes suivantes au niveau de l’interface Exchange Powershell :

    $ImapEnabled = Get-CASMailbox -Filter {Imapenabled -eq $true} -ResultSize unlimited

    $PopEnabled = Get-CASMailbox -Filter {Popenabled -eq $true} -ResultSize unlimited

  3. Analyser les journaux IMAP et POP pour voir quels comptes se connectent réellement à ces protocoles.

  4. Examiner et comparer les deux ensembles de données :

Utiliser Excel ou des commandes similaires à celles ci-dessous :

Compare-Object $ImapLogs $($ImapEnabled.name) | Where sideindicator -eq “<=”

Compare-Object $POPLogs $($POPEnabled.name) | Where sideindicator -eq “<=”

 

Les utilisateurs qui utilisent activement IMAP et POP sont stockés respectivement dans les $IMAPLogs et $POPLogs. Tous les autres trouvés dans $IMAPEnabled et $POPEnabled et qui ne sont pas dans $IMAPLogs et $POPLogs pourraient avoir les protocoles potentiellement désactivés. 

 

Exchange_Erreur de suppression de l’abonnement Edge 2010 dans une infrastructure Exchange 2013

Description du problème

Lorsqu’il s’agit de supprimer l’abonnement Edge 2010 dans une organisation contenant des serveurs Exchange 2013, le message d’erreur ci-dessous apparaît suite à l’exécution de la commande Remove-EdgeSubscription servername, 

Remove-EdgeSubscription : Impossible d’effectuer cette modification car la propriété ExchangeVersion de l’objet est 0.20 (15.0.0.0), ce qui n’est pas pris en charge par la version actuelle 0.1 (8.0.535.0). Vous aurez besoin d’une version plus récente d’Exchange pour effectuer cette modification. Nom de la propriété : ExchangeVersion
At line:1 char:24 + Remove-EdgeSubscription <<<< edge2 -Verbose
+ CategoryInfo : NotSpecified: (0:Int32) [Remove-EdgeSubscription], DataValidationException
+ FullyQualifiedErrorId : D8A49A14,Microsoft.Exchange.Management.SystemConfigurationTasks.RemoveEdgeSubscription

 

Explication et Résolution

La commande Remove-EdgeSubscription supprime à la fois l’abonnement et tous les objets abonnés de la base de données ADAM locale sur le serveur Edge. Mais si l’un de ces objets abonnés a été créé sur Exchange 2013 après son installation, ils auront une version ExchangeVersion égale à 0.20 (15.0.0.0) et Exchange 2010 SP3 ne peut pas traiter cet objet d’ou le message d’erreur dessus.

 

Pour résoudre ce problème, via ADSIEDIT, recherchez et supprimez manuellement l’objet avec une version Exchange 0.20 (15.0.0.0) de la base de données AD LDS, puis réexécutez la cmdlet Remove-EdgeSubscription, cela devrait maintenant fonctionner (sauf si vous avez deux objets ou plus avec le numéro de version le plus élevé à chercher et à supprimer).

  1. Pour rechercher des objets avec une version ExchangeVersion supérieure à « 0.1 (8.0.535.0) », correspondante à la version qu’Exchange 2010, ouvrez ADSIEdit sur le serveur Edge.

2. Cliquez avec le bouton droit sur le nœud ADSI Edit en haut de la fenêtre et choisissez Connect to…

3. Dans la boîte de dialogue Paramètres de connexion (illustrée ci-dessus), définissez le champ Sélectionner un contexte d’appellation connu sur Configuration . Tapez le nom du serveur local et le port AD LDS dans le champ Sélectionner ou taper un domaine ou un serveur. La valeur « server:port » doit être EDGESERVERNAME:50389

5. Développez l’arborescence jusqu’à ce que vous atteigniez CN=First organisation,CN=Microsoft Exchange,CN=Services,CN=Configuration,CN={……………….}

6. Vous devez maintenant examiner chaque objet dont la valeur msExchVersion n’est pas 4535486012416. Par exemple, si vous aviez créé un domaine accepté en raison de la fédération dans Exchange 2013, il s’agirait d’un nouvel objet depuis 2010. Cet objet (sous CN=Accepted Domains,CN=Transport Setting,…) a la valeur 88218628259840. 

  • Pour vérifier qu’il s’agit de l’objet correct à supprimer manuellement, entrez Get-Object |FT name,ExchangeVersion à partir de l’environnement de ligne de commande Exchange Management Shell sur le serveur Edge où Object est la cmdlet que vous cherchez à interroger – dans le présent cas, ce serait Get-AcceptedDomain. Cet objet a une version ExchangeVersion plus récente et c’est donc (au moins) cet objet empêche la suppression de l’abonnement Exchange.
  • Supprimez manuellement l’objet dans ADSI Edit (vous pouvez le faire en toute sécurité, car il sera resynchronisé à partir de l’organisation Exchange si vous recréez l’abonnement Edge ultérieurement). Ne le supprimez pas d’Active Directory avec ADSI Edit, mais uniquement d’AD LDS. Veillez à ne supprimer que cet objet et non l’objet parent.

7. Une fois cet objet est supprimé, réessayez Remove-EdgeSubscription servername. S’il s’agit du seul objet, l’abonnement Edge sera supprimé du serveur Edge.

 

 

 

Active Directory – Comment déléguer l’affichage d’un mot de passe LAPS d’un ordinateur supprimé ?

LAPS ou Local Admin Password Solution est une solution développée par Microsoft qui permet de gérer un mot de passe local de chaque ordinateur d’un domaine Active Directory de façon individuel et autonome. Cet article ne couvrira pas la mise en place de LAPS ni son modèle de délégation, mais se focalisera sur la délégation de la récupération d’un mot de passe LAPS d’un objet ordinateur supprimé.

 

Important : la corbeille Active Directory doit être activée pour récupérer le mot de passe LAPS d’un ordinateur supprimé.

 

Les méthodes par défaut pour lire le mot de passe LAPS d’un ordinateur supprimé

Par ordre de simplicité, les méthodes classiques sont :

  1. Utiliser la console Active Directory Administative Center
  2. Utiliser la cmdlet PowerShell Get-ADObject avec le paramètre -IncludeDeleteObjects
  3. Utiliser l’utilitaire LDP.exe

Pourquoi ne pas utiliser une de ces méthodes pour lire les mots de passe LAPS des ordinateurs supprimés ? Parce que les droits nécessaires sont Domain Admin. Seul un nombre restreint d’administrateurs doit être membre de ce groupe à haut privilège.

 

 

Déléguer la lecture du mot de passe LAPS d’un ordinateur supprimé

Les tâches suivantes doivent être réalisées avec un utilisateur membre du groupe Domain Admin

 

1. Vérifier que l’utilisateur à la possibilité de voir et modifier les objets dans la corbeille AD

Dans une invite de commande exécuter en tant qu’administrateur, saisir la commande suivante :

dsacls "CN=Deleted Objects,DC=contoso,DC=intern" #Les mots contoso et intern sont à remplacer par le domaine à requêter

#Si le message suivant apparaît, les droits actuels de l'utilisateur sont insuffisants

Insufficient access rights to perform the operation.

The command failed to complete successfully.

 

 

Si le message précédent s’affiche et donc que les permissions ne s’affichent pas, il faut s’approprier la propriété du container Deleted Obects

dsacls "CN=Deleted Objects,DC=contoso,DC=intern" /takeownership #commande qui permet de devenir le propriétaire du container Deleted Objects

#Les permissions s'affichent alors, voici un exemple de permission

Owner: CONTOSO\Domain Admins
Group: NT AUTHORITY\SYSTEM

Access list:
{This object is protected from inheriting permissions from the parent}

Allow BUILTIN\Administrators          SPECIAL ACCESS
                                      LIST CONTENTS
                                      READ PROPERTY
Allow NT AUTHORITY\SYSTEM             SPECIAL ACCESS
                                      DELETE
                                      READ PERMISSONS
                                      WRITE PERMISSIONS
                                      CHANGE OWNERSHIP
                                      CREATE CHILD
                                      DELETE CHILD
                                      LIST CONTENTS
                                      WRITE SELF
                                      WRITE PROPERTY
                                      READ PROPERTY

 

 

 

2. Déléguer la lecture des mots de passe LAPS qui se trouvent dans la corbeille AD

Dans une invite de commande exécuter en tant qu’administrateur, saisir la commande suivante :

dsacls "CN=Deleted Objects,DC=contoso,DC=intern" /G CONTOSO\AD-GROUP-LAPS-DELETED-OBJECTS-READ:LCRP # commande qui permet de donner au groupe AD-GROUP-LAPS-DELETED-OBJECTS-READ les autorisations nécessaires pour lire les mots de passe LAPS des objets supprimés LC = list content et RP = read property

# ces permissions sont alors ajoutés à l'access list qui s'affiche

Allow CONTOSO\AD-GROUP-LAPS-DELETED-OBJECTS-READ
                                      SPECIAL ACCESS
                                      LIST CONTENTS
                                      READ PROPERTY

 

Remarique : il est nécessaire de créer le groupe AD-GROUP-LAPS-DELETED-OBJECTS-READ avant de taper la commande ci-avant, le nom du groupe peut être différent. 



3. Lire le mot de passe LAPS d’un objet ordinateur dans la corbeille AD

Les méthodes habituelles pour lire le mot de passe LAPS tel que LAPS UI ou la console Active Directory Users and Computers ne fonctionnent que sur les ordinateurs présents dans l’Active Directory, il est ainsi recommandé d’utiliser la cmdlet PowerShell Get-ADObject, par exemple :

Get-ADObject -Filter 'msds-LastKnownRDN -like "NameOfTheDeletedComputer"' -IncludeDeletedObjects -Properties ms-mcs-admpwd | Select ms-mcs-admpwd # il faut remplacer NameOfTheDeletedComputer par le nom de l'ordinateur dont le mot de passe LAPS doit être récupéré

# le mot de passe LAPS s'affiche en clair

 

Remarque : l’utilisateur qui doit récupérer le mot de passe de l’objet ordinateur supprimé doit être membre du groupe auquel la délégation a été fournie, dans cet exemple CONTOSO\AD-GROUP-LAPS-DELETED-OBJECTS-READ

Remarque 2 : l’utilisateur qui doit récupérer le mot de passe de l’objet ordinateur supprimé devait déjà avoir la possibilité de lire le mot de passe LAPS de l’ordinateur avant sa suppression