Archive

Articles taggués ‘Boite aux lettres’

Lister les 10 plus grosses boites aux lettres

14/12/2011 Comments off

Voici une commande pour récupérer le top 10 des boites Exchange de votre organistation.

?View Code POWERSHELL
Get-Mailbox -ResultSize unlimited | Get-MailboxStatistics | Sort-Object -Descending -Property TotalItemSize | Select-Object DisplayName,TotalItemSize -First 10

Modification des paramètres de quota.

Lors de la modification des paramètres de quota sur une boite aux lettres, on constate que le paramétrage prend longtemps avant d’être appliquer.

Il s’agit d’une délais d’application par défaut de deux heures dans le configuration de Exchange 2007.

Le seul moyen de contourner ce délais est de redémarrer le service MSExchangeIS. Et ca, c’est pas cool, surtout pour les 5000 autres utilisateurs du serveur.

Je conseil donc d’être vigilent lors des modifications et diplomate lorsque votre PDG se retrouve bloqué.

Pour les impatients, j’ai trouvé un article ici qui propose de modifier le délais d’attente. (J’ai pas testé.)

Exporter la taille des boites d’un groupe.

Cette commande exporte la taille des boites aux lettres membre d’un groupe, il indique la base de données où se trouve la boite.

?View Code POWERSHELL
Get-QADGroupMember -Identity "Groupe_Compta" -SizeLimit 0 | foreach { Get-MailboxStatistics
 -Identity $_.dn -ErrorAction silentlycontinue | ft Displayname, Database, @{ expression={$_.TotalIt
emSize.Value.ToMB() } ;label="TotalItemSize (MB)" } } > Compta_group_size.csv

Vérifier et activer la politique d’adresses e-mail.

Utiliser cette méthode pour vérifier qui n’applique la politique d’adresses e-mail.

?View Code POWERSHELL
Get-Mailbox -ResultSize unlimited -OrganizationalUnit "domain.local/Paris" | Where-Object { $_.EmailAddressPolicyEnabled -eq $false } | ft displayname,alias,PrimarySmtpAddress

Dans mon cas, j’applique ce script pour savoir si la politique peut être appliquée sans qu’elle modifie l’adresse SMTP principale.
Si c’est le cas, je l’applique.

?View Code POWERSHELL
Get-Mailbox -ResultSize unlimited -OrganizationalUnit "domain.local/Paris" | Where-Object { $_.EmailAddressPolicyEnabled -eq $false } | foreach {
$normalsmtp = $_.alias + "@domain.com"
$prismtp = $_.PrimarySmtpAddress
if ( $normalsmtp -ne $prismtp) {
$_.displayname
}
Else{
Set-Mailbox -Identity $_.alias -EmailAddressPolicyEnabled $true
}
}
Categories: Exchange 2007 Tags: ,

Nettoyer les adresses e-mail des boites.

Au fil du temps, des migrations et des changements du nom de domaine, les boites aux lettres de votre organisation ont accumulées les adresses e-mail secondaires.
Ce script permet de faire le nettoyage dans ces adresses e-mail secondaires.

?View Code POWERSHELL
Get-Mailbox -ResultSize Unlimited | Foreach { 
        $a = $_.emailaddresses; 
        $b = $_.emailaddresses; 
        foreach ($e in $a) 
        { 
            if ($e.tostring() -match "@levieuxdomaine.com" -or $e.tostring() -match "@leplusvieuxdomaine.com" ) 
            { 
		$_.Displayname
                $b -= $e;
		set-mailbox -Identity $_.alias -EmailAddresses $b 
            } 
         }
}

Supprimer les boites déconnectées.

Permet de supprimer les boites déconnectées sur le serveur de boites aux lettres.
Après suppression, les boites sont conservées pendant un certain temps sur le serveur en mode déconnecté.
Cette procédure permet de les supprimer définitivement.
Afficher les boites déconnectées d’une Database.

?View Code POWERSHELL
Get-MailboxStatistics -Database "CCR004\is_Paris_5" | where-object { $_.DisconnectDate -ne $null } | Select DisplayName,MailboxGuid

Les supprimer automatiquement:

?View Code POWERSHELL
Get-MailboxStatistics -Database "CCR004\is_Paris_5" | where-object { $_.DisconnectDate -ne $null } | ForEach { Remove-Mailbox -Database "CCR004\is_Paris_5" -StoreMailboxIdentity $_.MailboxGuid }
Categories: Exchange 2007 Tags:

Configurer un garde fou sur les boites.

Si vos boites n’ont pas de quotas, il est tout de même préférable de configurer un garde fou.
Ce script va configurer un quota automatiquement par rapport à la taille actuelle de la boite.

?View Code POWERSHELL
Get-Mailbox -Server CCR001 -ResultSize unlimited | where-Object { $_.database -match "paris" -and $_.UseDatabaseQuotaDefaults -eq $false -and $_.CustomAttribute6 -ne "NoQuota"} | foreach {
$user = $_.identity
$userstats = Get-MailboxStatistics -Identity $user
$mbsize = $userstats.TotalItemSize
$sendquota = $userstats.TotalItemSize + 500MB
$warquota = $userstats.TotalItemSize + 400MB
 
Write-Host $user.displayname $mbsize $sendquota $warquota -Separator ","
Set-Mailbox -Identity $user -ProhibitSendQuota $sendquota -IssueWarningQuota $warquota
}

Marquer les boites dont le compte est désactivé.

Ce script permet de d’appliquer un marquage sur les attributs personnalisés des boites dont le compte AD est désactivé.
Il est ensuite possible d’appliquer plus facilement un filtre afin de déplacer toutes ces boites aux lettres.

?View Code POWERSHELL
Get-Mailbox -Database ccr03\is_paris_10 | foreach {
$user = Get-QADUser -Identity $_.alias
if ($user.AccountIsDisabled -eq "true"){
$user
Set-Mailbox -Identity $user.UserPrincipalName -CustomAttribute4 "Disabled_on_Paris_10"
}
}

Exporter une boite aux lettres en PST.

Ce Script automatise l’exportation d’une boite aux lettres dans un fichier PST.

Pour rappel, il y a des pré-requis pour faire des exportations de boites aux lettres.
1- OS 32bits (XP ou Windows Server) (Pas testé sur Seven)
2- Client Outlook. (Outlook 2003 SP2 Minimum)
3- Exchange 2007 Management Tools

?View Code POWERSHELL
$mbal = Read-Host "Please enter the mailbox"
$musr = [Environment]::UserName
 
 
Add-MailboxPermission -Identity $mbal -AccessRights FullAccess -InheritanceType All -User $musr
$pst = "I:\PSTDATA\" + $mbal +".pst"
 
Export-Mailbox -Identity $mbal -PSTFolderPath $pst -Confirm:$false
 
 
Remove-MailboxPermission -Identity $mbal -AccessRights FullAccess -InheritanceType All -User $musr -Confirm:$false

Importer une adresses secondaire sur des boites.

Permet d’importer une adresse SMTP secondaire sur une liste de boites aux lettres.

?View Code POWERSHELL
Import-Csv -Path .\import_secondary_smtp.csv | foreach {
$mailbox = $_.identity
$secsmtp = $_.sec_smtp
 
$temp = Get-Mailbox -Identity $mailbox
$temp.emailaddresses.add($secsmtp)
Set-Mailbox -Instance $temp
}