Archives de catégorie : Exchange 2007

Désactiver ActiveSync sur plusieurs boites.

Windows_Phone

Permet de désactiver ActiveSync sur plusieurs boites aux lettres.

Get-Mailbox *christophe* | Set-CASMailbox -ActiveSyncEnabled $false

Pour désactiver ActiveSync sur toutes les boites:

Get-CASMailbox -Resultsize unlimited | where-object {$_.ActiveSyncEnabled -eq $true} | Set-CASMailbox -ActiveSyncEnabled $false

Filter les MailContacts sur un nom de domaine.

Je souhaite filter les MailContacts qui transferent les messages vers un domaine spécifique.
En cette période de grand ménage, je cherche a exporter la liste des MailContacts obsolètes.

Get-MailContact -ResultSize unlimited | Where-Object { $_.ExternalEmailAddress -like "*@sc.domain.com" } | Select-Object DisplayName,Alias,ExternalEmailAddress | Export-Csv -Path .\Export\Old_MailContacts.csv

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.

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.

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
}
}

Modification des droits sur les Databases.

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
}

Modifier les adresses de MailContacts.

Modifier le domaine de l’adresse externe sur tous les MailContacts d’un OU.

$nldomcontact = Get-MailContact -OrganizationalUnit "domain.local/NL" -ResultSize unlimited | Where-Object { $_.ExternalEmailAddress -match "@domino.domain.com" }
foreach ($contact in $nldomcontact){
$extsmtp = "SMTP:" + $contact.alias + "@nl.domain.com"
Set-MailContact -Identity $contact -ExternalEmailAddress $extsmtp
}