Archives par étiquette : Boite aux lettres

Lister les boites où a accès un utilisateur.

Exporter toutes les boites aux lettres où a accès un utilisateur.

Get-Mailbox -Server CCR002 -Resultsize Unlimited | where-object { $_.database -match "SCO" } | Get-MailboxPermission | Where-Object { $_.AccessRights -eq "FullAccess" -and $_.IsInherited -match "false" -and $_.user -match "bluteau" } | Select-Object Identity,User| Export-Csv -Path rightsonmb.csv

Ensuite supprimer ces délégations.

Import-Csv -Path .\rightsonmb.csv | foreach { Remove-MailboxPermission -Identity $_.identity -AccessRights FullAccess -User $_.user }

Marquer les boites présentent dans une liste.

Permet de marquer garce aux « Custom Attributes » un liste de boites aux lettres présentent dans un fichier texte.
Cela me permet ensuite de faire des filtres pour des opérations de maintenance.

Import-Csv -Path .\movefromidf_9.txt | foreach {Set-Mailbox -Identity $_.displayname -CustomAttribute4 "movefromidf_9"}

Déplacement de boites aux lettres en masse.

J’ai beaucoup de boites aux lettres à déplacer ce soir.
L’opération consiste à déplacer des boites aux lettres de différentes Databases sources vers différentes Databases cibles, je me suis donc prévu un petit plan.
Un fois que j’ai préparé un beau p’tit fichier d’import qui définit qui va où, je positionne un « CustomAttribute » pour définir la Database cible sur les boites aux lettres à traiter.

Import-Csv -Path .\Move_Lundi.txt | Foreach { Set-Mailbox -Identity $_.displayname -CustomAttribute4 $_.target }

Je vérifie que tout est OK.

Import-Csv -Path .\Move_Lundi.txt | Foreach { Get-Mailbox -Identity $_.displayname | ft DisplayName,Database,CustomAttribute4 }

Pour pouvoir lancer plus déplacement en parallèle, je vais traiter les databases sources une par une.

Get-Mailbox -Database SRV001\DB_IDF_2 | Where-Object { $_.CustomAttribute4 -eq "Target_Monday_IDF_7" } | Move-Mailbox -TargetDatabase SRV001\DB_IDF_7

J’en lance plusieurs à la fois.

Get-Mailbox -Database SRV001\DB_IDF_3 | Where-Object { $_.CustomAttribute4 -eq "Target_Monday_IDF_7" } | Move-Mailbox -TargetDatabase SRV001\DB_IDF_5

Voila, c’est parti, j’attends la fin en gardant un oeuil sur les disques de logs.

Sécuriser une liste de distribution par un groupe.

Il est possible de sécuriser les listes de distribution par un groupe.
Les membres de ce groupe pourront utiliser les liste de distribution pour émettre des messages à la différence des autres boites aux lettres.

Il faut créer un groupe:

New-DistributionGroup -name "ACL_BAL_GROUP-Compta-Paris" -OrganizationalUnit "domain.local/Compta-Paris" -SamAccountName "ACL_BAL_GROUP-Compta-Paris" -Type Security

et positionner le groupe sur la liste de distribution:

Set-DistributionGroup -AcceptMessagesOnlyFromDLMembers "ACL_BAL_GROUP-Compta-Paris"

Copier les listes de distribution d’une boite.

Permet d’ajouter une boite dans les listes de distribution dont est membre un autre boite.

$srcuser = "goldorak"
$trgtuser = "albator"
Get-DistributionGroup -ResultSize unlimited -OrganizationalUnit "domain.local" | foreach {
$groupname = $_.name
Get-DistributionGroupMember -Identity $groupname | Where-Object { $_.Alias -eq $srcuser } | foreach {
$groupname
Add-DistributionGroupMember -Identity $groupname -Member $trgtuser 
#Remove-DistributionGroupMember -Identity $groupname -Member $srcuser
}
}

Filtrer les boites dans une fourchette de tailles.

Ce filtre affiche les boites de plus de 650MB et moins de 900MB d’une database et qui n’ont pas le CustomAttribute4 renseigné.

Ce filtre me permet ensuite de lancer un move-mailbox afin d’alléger des databases trop chargées.

Get-Mailbox -Database ccr001\DB_SG_Paris_5 | Where-Object { $_.CustomAttribute4 -ne "mailboxwithblackberry" } | foreach { Get-MailboxStatistics -Identity $_.alias | Where-Object { $_.totalitemsize -gt 650mb -and $_.totalitemsize -lt 900Mb }} | ft displayname, database, @{ expression={$_.TotalItemSize.Value.ToMB() } ;label="TotalItemSize (MB)" }

Afficher les boites restreintes par un quota.

Affiche les boites de plus de 500MB qui ont l’héritage de configuration des quotas actif.
J’ai ajouté un filtre sur le serveur et les databases d’une filiale.

Get-MailboxStatistics -Server CCR004| Where {$_.Database -match "paris" -and $_.TotalItemSize -gt 500MB} | ForEach-Object { $size = $_.TotalItemSize ; Get-mailbox -Identity $_.displayname | where-object { $_.UseDatabaseQuotaDefaults -eq "true" }}| Select-Object displayname,alias,database, @{ expression={$size.Value.ToMB() } ;label="TotalItemSize (MB)" }

Affiche la taille des boites d’une OU.

Permet d’afficher les taille des boites se trouvant dans une OU.

Get-Mailbox -OrganizationalUnit "domain.local/OU_FI00/OU_Compta" | Get-MailboxStatistics | Sort-Object -Property TotalItemSize -Descending | ft displayname, database, @{ expression={$_.TotalItemSize.Value.ToMB() } ;label="TotalItemSize (MB)" }

Exchange User Monitor.

Exmon est un outil permetant de visualiser en temps réelle l’utilisation du serveur de boites aux lettres par les utilisateurs.

exmon02

A télécharger ici.

Il m’est arrivé d’avoir des problème pour le lancer.

Message: Unknown StartTrace Error (183)

En passant les commandes suivantes, j’ai réussi à resoudre le problème.

Tracelog -l
Tracelog -stop "Exchange Event Trace"

Tracelog à télécharger ici.