Dire aux personnes externes que l’entreprise est en vacances
La question s’est posée sur la meilleure façon de définir des réponses automatiques sur les boîtes aux lettres partagées pour informer les expéditeurs externes que l’entreprise est en vacances (publiques ou autres). Certains ont suggéré d’utiliser Flow pour ce travail. J’ai, bien sûr, pensé à PowerShell. Je ne suis pas contre Flow : je pense simplement que PowerShell offre plus de contrôle et de flexibilité, surtout lorsque plusieurs boîtes aux lettres partagées sont concernées.
Les réponses automatiques, ou notifications OOF (Out of Facility) comme on les appelle dans le métier, remontent à l’aube du courrier électronique (avant Exchange 4.0). Il est facile de définir des réponses automatiques avec PowerShell en utilisant le cmdlet Set-MailboxAutoReplyConfiguration. La cmdlet Get-MailboxAutoReplyConfiguration rapporte l’état actuel de réponse automatique d’une boîte aux lettres.
Un nouveau système de réponse automatique pour les boîtes aux lettres partagées
La solution d’exemple utilise un script rapide et sale pour trouver toutes les boîtes aux lettres partagées dans le locataire et définir deux réponses automatiques. L’une (brève) pour les correspondants internes ; l’autre (moins laconique et plus sympathique) pour les personnes externes. Deux variables sont déclarées pour définir l’heure de début et de fin de la réponse automatique programmée. Si vous spécifiez une heure, n’oubliez pas qu’Exchange Online fonctionne en UTC et que toute heure que vous définissez est donc en UTC. En d’autres termes, convertissez votre heure locale en UTC lorsque vous configurez la réponse automatique. De manière plutôt bizarre, Get-MailboxAutoReplyConfiguration convertit l’heure UTC en heure locale (poste de travail) lorsqu’il rapporte une configuration de réponse automatique.
Suppression des réponses automatiques
La réponse automatique programmée devient caduque lorsque l’heure de fin arrive. Si vous voulez supprimer les réponses automatiques de toutes les boîtes aux lettres partagées, exécutez la commande :
Nous supposons que toutes les boîtes aux lettres partagées sont dans $Mbx. ForEach ($M in $Mbx) { Set-MailboxAutoReplyConfiguration -Identity $M.DistinguishedName -AutoReplyState « Disabled » }.