Voici une commande pour récupérer le top 10 des boites Exchange de votre organistation.
Get-Mailbox -ResultSize unlimited | Get-MailboxStatistics | Sort-Object -Descending -Property TotalItemSize | Select-Object DisplayName,TotalItemSize -First 10 |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
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é.)
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
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.
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 |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Utiliser cette méthode pour vérifier qui n’applique la politique d’adresses e-mail.
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.
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
}
} |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
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.
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
}
}
} |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
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.
Get-MailboxStatistics -Database "CCR004\is_Paris_5" | where-object { $_.DisconnectDate -ne $null } | Select DisplayName,MailboxGuid |
Les supprimer automatiquement:
Get-MailboxStatistics -Database "CCR004\is_Paris_5" | where-object { $_.DisconnectDate -ne $null } | ForEach { Remove-Mailbox -Database "CCR004\is_Paris_5" -StoreMailboxIdentity $_.MailboxGuid } |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
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.
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
} |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
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.
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"
}
} |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
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
$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 |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Permet d’importer une adresse SMTP secondaire sur une liste de boites aux lettres.
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
} |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Commentaires récents