Archive

Archives pour la catégorie ‘Exchange 2007’

Identifier les clients qui utilisent un connecteur de réception.

Permet de visualiser les IP des clients qui utilisent un connecteur de réception d’un serveur de transport.

?View Code POWERSHELL
Get-MessageTrackingLog -ResultSize Unlimited -Server HUB001 -Start "20/10/2010 15:50:00" | Where-Object { $_.ConnectorId -match "open" } | Select-Object ClientIP -Unique | Sort-Object ClientIP }
Categories: Exchange 2007 Tags: ,

Tracer un message sur tous les HUB.

Permet de tracer un messages en vérifiant tous les serveurs de transport en une commande.

?View Code POWERSHELL
Get-ExchangeServer | Where-Object { $_.ServerRole -eq "HubTRansport" } | foreach { Get-MessageTrackingLog -Server $_.name -Sender testdemessage@gmail.com -Start "20/10/2010 12:50:00" | ft Timestamp,EventId,ClientIp,ServerIp,Sender,Recipients -AutoSize }
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:

Enlever les petites boites d’un groupe.

L’objectif est d’enlever les boites aux lettres de moins de 400MB d’un groupe qui sert à mettre en place des exclusions de quotas.
La suite de Ajoute de boites aux lettres dans un groupe.

?View Code POWERSHELL
$group = "GR_EXCEPTION_QUOTA"
Get-QADGroupMember -Identity $group | foreach {
$user = $_.UserPrincipalName
$userlt400 = Get-MailboxStatistics -Identity $user -ErrorAction silentlycontinue
	if ( $userlt400.totalitemsize -lt 400MB ) {
	Remove-QADGroupMember -Identity $group -Member $userlt400.LegacyDN
	}
}
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
}

Rechercher un dossier dans toutes les boites.

Cette commande permet de retrouver les boites qui contiennent un dossier spécifique.

?View Code POWERSHELL
Get-Mailbox -resultsize unlimited -Server CCREX003 | Get-MailboxFolderStatistics | where-object {$_.Name -eq "Private" } | ft Identity