Archive

Archives pour 10/2010

Compter le nombre de membres dans un groupe

Pour compter rapidement le nombre de membres dans un groupe.

?View Code POWERSHELL
$gp  = Read-Host "Enter group name"
$member = $null
Get-QADGroupMember -SizeLimit 0 -Identity $gp | foreach {
$member++
}
Write-Host $member " in " $gp

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: ,

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.

?View Code POWERSHELL
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.

?View Code POWERSHELL
$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
}
Categories: Exchange 2007 Tags:

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: