Certaines applications connectées aux serveurs Exchange nécessite des droits pour intéragir avec les boites aux lettres.
C’est le cas d’applications type messagerie unifiées Astraa, Cisco… qui utilisent le connecteur IMAP pour déposer des messages et vérifier si le message vocal a été lu.
Get-MailboxDatabase -Server CCR004 | Where-Object { $_.name -match "IDF"} | foreach {
$dn = $_.DistinguishedName
Add-ADPermission -Identity $dn -User "messucp.idf" -ExtendedRights Send-As
Add-ADPermission -Identity $dn -User "messucp.idf" -ExtendedRights Receive-As
} |
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 :
Ce script affiche la taille et le pourcentage d’espace disque libre sur tous les volumes montés sur les serveurs de boites aux lettres.
$mbserver = Get-MailboxServer
Foreach ($server in $mbserver) {
"___________"
""
$server.name
"___________"
""
"System Volume FreeSpace (GB) PourcentFree"
"------ ------ -------------- ------------"
Get-WmiObject win32_volume -ComputerName $server.name | Sort-Object -Property Name |
Format-Table -HideTableHeaders @{e={$_.systemname};n="" },
@{e={$_.name};n="" },
@{ e={[math]::round($_.FreeSpace/1GB,2)};n="" },
@{ e={[math]::round(($_.FreeSpace*100)/$_.Capacity) };n="" }
} |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Ce script permet de collecter dans un fichier Excel les events log des résultats des online defrag sur tous les serveurs de boites aux lettres de l’organisation.
Un fois que vous avez le résultat des défragmentation online, vous pouvez évaluer si il est pertinent d’effectuer une défragmentation offline sur certaines Databases.
$a = New-Object -comobject Excel.Application
$a.Visible = $True
$b = $a.Workbooks.Add()
$c = $b.Worksheets.Item(1)
$col = 1
$ligne = 1
$c.Cells.Item(1,1) = "Server"
$c.Cells.Item(1,2) = "Database"
$c.Cells.Item(1,3) = "Date"
$c.Cells.Item(1,4) = "Free space"
$ligne++
$ExchServer = Get-MailboxServer
foreach ($Server in $ExchServer){
$WmidtQueryDT = [System.Management.ManagementDateTimeConverter]::ToDmtfDateTime([DateTime]::Now.AddDays(-1))
$1221 = Get-WmiObject -computer $Server -query ("Select * from Win32_NTLogEvent Where Logfile='Application' and Eventcode = '1221' and TimeWritten >='" + $WmidtQueryDT + "'")
foreach ($event in $1221){
$database = $event.message.split('"')[1]
$size = $event.message.split('"')[2].split(" ")[2]
$date = $event.ConvertToDateTime($event.timewritten)
$col = 1
$c.Cells.Item($ligne,$col) = [string]$Server
$col++
$c.Cells.Item($ligne,$col) = [string]$database
$col++
$c.Cells.Item($ligne,$col) = [string]$date
$col++
$c.Cells.Item($ligne,$col) = [string]$size
$ligne++
}
} |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Permet de créer rapidement un groupe de distribution pour la communication aux boites d’une database.
New-DistributionGroup -OrganizationalUnit "domain.local/OU02_Paris" -Name OU02-DB_Paris_5-BAL -Type Security -SamAccountName OU02-DB_Paris_5-BAL
Get-Mailbox -Database CCR001\DB_Paris_5 | foreach { Add-DistributionGroupMember -Identity OU02-DB_Paris_5-BAL -Member $_.DistinguishedName } |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Export des boites aux lettres qui ont des forwards actifs.
$resfile = New-Item -ItemType file -Path liste_forwards.csv -Force
Add-Content -Path $resfile -Value "MailboxDisplayName,MailboxAlias,MailContactDisplayName,MailcontactOrganizationalUnit,MailcontactExternalEmailAddress"
get-mailbox -ResultSize unlimited | Where-Object { $_.ForwardingAddress -ne $null } | ForEach-Object {
$forward = Get-Recipient -Identity $_.ForwardingAddress
if ( $forward.RecipientType -eq "MailContact") {
$mailc = Get-MailContact -Identity $forward.alias
Add-Content -Path $resfile -Value "$($_.name),$($_.alias),$($mailc.displayname),$($mailc.OrganizationalUnit),$($mailc.ExternalEmailAddress)"
}
else {}
} |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Liste les boites d’une database faisant une taille entre 700MB et 900MB.
Get-MailboxStatistics -Database Server1\DB2 | Where-Object { $_.totalitemsize -gt 700mb -and $_.totalitemsize -lt 900Mb } |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
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)" } |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Exmon est un outil permetant de visualiser en temps réelle l’utilisation du serveur de boites aux lettres par les utilisateurs.

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.
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Permet d’ajouter les boites de plus de 400MB dans un groupe d’exclusion.
Couplé avec Désactive l’héritage du quota sur un groupe. permet la mise en place des quota en douceur.
Get-MailboxStatistics -Server ServerMB001| Where {$_.Database -match "compta" -and $_.TotalItemSize -gt 400MB} | ForEach-Object {
$user = Get-Mailbox -Identity $_.identity
Add-QADGroupMember -Identity GR_EXCEPTION_QUOTA -Member $user.UserPrincipalName
} |
Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :
Commentaires récents