« Exchange pour de vrai » : différence entre les versions

De Justine's wiki
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Ligne 112 : Ligne 112 :
== Commandes de suivi des migrations ==
== Commandes de suivi des migrations ==


<syntaxhighlight lang="pshell">
<syntaxhighlight lang="powershell">
#Vérification du statuts des migrations en cours :
#Vérification du statuts des migrations en cours :
  Get-MoveRequest | where status -eq "InProgress" | Get-MoveRequestStatistics
  Get-MoveRequest | where status -eq "InProgress" | Get-MoveRequestStatistics

Version du 21 octobre 2019 à 14:28

https://sourcedaddy.com/windows-7/troubleshooting-exchange-server.html

Introduction

Cette page est destinée à contenir de vraies informations pratiques concernant les serveurs Exchange et comment les administrer, notamment en PowerShell.

Microsoft Exchange Server est un groupware (logiciel de groupe de travail) pour serveur de messagerie électronique créé par Microsoft. Il existe aussi en SaaS avec Office365.

Console ECP

La console ecp est accessible via https://<adresse>/ecp.

Elle permet de gérer la messagerie depuis une GUI.

Calendriers

Les calendriers (collectifs) sont liés à une adresse de type *utilisateur* (et non pas ressource, ce serait si logique). Un calendrier donne une adresse, à laquelle les gens sont sensés pouvoir accéder par OWA > ouvrir une autre boîte mail.

Ci-dessous, une commande pour donner des droits sur ce genre de calendrier à quelqu'un (testé mais pas validé...):

<syntaxhighlight lang="pshell"> PS Z:\> Add-MailboxFolderPermission -Identity "calendrier" -User "autre.user" -AccessRights "Contributor" FolderName User AccessRights


---- ------------

Haut de la banque... Anaise Leroy {Contributor}


PS Z:\> Get-MailboxFolderPermission -identity orientation-calendrier | fl </syntaxhighlight>


Commandes PowerShell

Boîtes partagées

<syntaxhighlight lang="pshell">

  1. Membres d'une BP

Get-Mailbox formation-continue-iae | Get-MailboxPermission | select identity,user,accessrights

</syntaxhighlight>

Autres

Sources:

Use the following commands to add or remove an email alias using Powershell commands:

To check current exchange mailbox aliases:

'''Get-Mailbox mailboxname | select -expand emailaddresses alias'''

To add an email alias to an exchange mailbox:

'''Set-Mailbox mailboxname -EmailAddresses @{Add='alias@somedomain.co.uk'}'''

To delete an email alias from an exchange mailbox:

Set-Mailbox mailboxname -EmailAddresses @{Remove=’alias@somedomain.co.uk’}

Re-lier une boîte dans une configuration avec une boîte liée

Dans un contexte avec plusieurs domaines AD, il se peut que les boîtes d'un domaine soient liées au comptes sur un autre domaine. Chaque boite est liée grâce au SID, un identifiant unique qui désigne le compte sur le domaine AD lié. Nous avons donc :

  • Un domaine 1 avec un AD.
  • Un autre domaine 2, avec des boîtes et avec son propre AD; mais pour une raison X les boites du domaine 2 sont liées au domaine 1.

Parfois, certaines boîtes peuvent se retrouver liées au mauvais SID. Voilà comment faire :

<syntaxhighlight lang="Powershell"> Get-Mailbox xxx@yyy | fl #On récupère les infos Disable-Mailbox xxx@yyy #On désactive la boîte d'une façon ou d'une autre Connect-Mailbox -LinkedDomainController "adc.domaine1" -LinkedMasterAccount "domaine1\madametruc" -Alias "truc" -Identity "Josiane Truc" -Database BASE-DB1 </syntaxhighlight>

Troubleshooting

MessageTrackingLog

Similaire à un maillog Linux, mais en moins pratique.

<syntaxhighlight lang="powershell"> Get-MessageTrackingLog -Recipients justine@domaine.fr Get-MessageTrackingLog -ResultSize Unlimited | Where-Object {$_.Recipients -like "*sarah.connor*"} Get-MessageTrackingLog -Start "09/30/2019 08:00:00" -End "09/30/2019 20:00:00" -Sender "luke.skywalker@rebellion.org" </syntaxhighlight>

On dispose bien entendu des autres logs Windows (voir Analyse de logs), mais ils ne sont pas pratiques non plus.

Commandes de test

PowerShell contient de nombreux cmdlets de test, et il serait bête de ne pas s'en servir !

On peut les voir toutes avec :

<syntaxhighlight lang='powershell'>

  1. Vérification du statuts des migrations en cours :
               Get-MoveRequest | where status -eq "InProgress" | Get-MoveRequestStatistics
  1. Vérification des users sur une database particulière :
               Get-Mailbox -database <db_name>
  1. Récupération des noms de databases :
               Get-MailboxDatabase
  1. Récupération des données Mailbox pour un utilisateur :
               Get-Mailbox <user>
  1. Récupération des données statistiques d’une mailbox :
               Get-mailbox <user> | get-mailboxstatistics
  1. Pour obtenir le maximum d’info, rajouter en fin de ligne : | fl

</syntaxhighlight>


Commandes de suivi des migrations

<syntaxhighlight lang="powershell">

  1. Vérification du statuts des migrations en cours :
Get-MoveRequest | where status -eq "InProgress" | Get-MoveRequestStatistics
  1. Vérification des users sur une database particulière :

Get-Mailbox -database <db_name>

  1. Récupération des noms de databases :

Get-MailboxDatabase

  1. Récupération des données Mailbox pour un utilisateur :

Get-Mailbox <user>

  1. Récupération des données statistiques d’une mailbox :

Get-mailbox <user> | get-mailboxstatistics

  1. Pour obtenir le maximum d’info, rajouter en fin de ligne : | fl

</syntaxhighlight>

Convertir une boite partagée en boite normale

Ici, je part de la boîte partagée "morpheus".

<source lang="pshell"> set-mailbox -id morpheus -type regular

  1. Une fois cela fait, il faut modifier l'utilisateur AD "morpheus" pour lui donner un mot de passe

</source>