Archives par étiquette : Transport

Capturer les IP des clients d’un connecteur SMTP

Un ligne de commande pour lister les IP des clients SMTP envoyant des messages à un connecteur Exchange 2007 ou 2010.

Get-MessageTrackingLog -Server hubserver01 -EventId "receive" -Start "06/12/2012 00:00:00" -ResultSize Unlimited | Where-Object { $_.ConnectorId -match "SMTP_Connector" } | Select-Object -unique ClientIP | ft clientip 

Modifier les adresses IP distantes sur un connecteur de réception

Comment gérer les adresses IP distantes autorisées sur un connecteur de réception?
Sur un connecteur de réception sans authentification et autorisant les connexions anonymes, il est indispensable de créer une liste blanche des adresses IP qui pourront émettre des messages via ce connecteur.

Voici comment gérer cette liste avec PowerShell.

Visualiser la liste existante.

$RConn = Get-receiveConnector "HUBSERVER\IPWhiteList"
$RConn.RemoteIpRanges | ft LowerBound,CIDRLength -AutoSize

Compter le nombre d’IP.

$RConn = Get-receiveConnector "HUBSERVER\IPWhiteList"
$RConn.RemoteIpRanges.count

Comparer deux connecteurs.

$RConn1= Get-receiveConnector "HUBSERVER01\IPWhiteList"
$RConn2= Get-receiveConnector "HUBSERVER02\IPWhiteList"
Compare-Object $RConn1.RemoteIpRanges $RConn2.RemoteIpRanges

Une flèche vers la droite indique que l’adresse affichée est présente dans le connecteur « ILMHUBCAS02P\Appsmtp » et absente de l’autre.

Attention, la commande suivante, écrase la liste d’IP existante par l’IP que vous spécifiez.

Set-ReceiveConnector "HUBSERVER\IPWhiteList" -RemoteIPRanges "192.168.6.66/32"

Pour ajouter cette IP a la liste existante, il faut utiliser la combinaison des commandes suivante.

$RConn = Get-ReceiveConnector "HUBSERVER\IPWhiteList"
$RConn.RemoteIPRanges += "192.168.6.66/32"
Set-ReceiveConnector "HUBSERVER\IPWhiteList" -RemoteIPRanges $RConn.RemoteIPRanges

Pour ajouter plusieurs IP.

$RConn = Get-ReceiveConnector "HUBSERVER\IPWhiteList"
$RConn.RemoteIPRanges += "192.168.6.66/32","192.168.6.99/32"
Set-ReceiveConnector "HUBSERVER\IPWhiteList" -RemoteIPRanges $RConn.RemoteIPRanges

Pour ajouter un liste d’IP issue d’un fichier texte.

$RConn = Get-ReceiveConnector "HUBSERVER\IPWhiteList"
Get-Content .\newips.txt | foreach {$RConn.RemoteIPRanges += "$_"}
Set-ReceiveConnector "HUBSERVER\IPWhiteList" -RemoteIPRanges $RConn.RemoteIPRanges

Si la liste d’IP en place a déjà une des IP mentionnés dans le fichier, un message d’erreur va apparaître, il est sans incidence.

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.

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 }

Tracer un message sur tous les HUB.

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

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 }

Quelques commandes de tracking log.

Quelques commandes type pour la recherche de messages dans les tracking logs.

Lister les messages à destination d’un serveur:

get-messagetrackinglog -Resultsize unlimited -Server "SrvHUB001" -Start "03/12/2009 12:00:00" -End "03/12/2009 13:00:00" | Where-Object { $_.ServerIp -eq "192.168.1.20" }

Lister les messages à destination d’une adresse:

 get-messagetrackinglog -Resultsize unlimited -Server "SrvHUB001" -Start "03/12/2009 20:35:00" -End "03/12/2009 20:36:00" | Where-Object { $_.Recipients -match "pere.noel@joyeux-noel.fr" }

Lister les messages en provenance d’un domaine:

 get-messagetrackinglog -Resultsize unlimited -Server "SrvHUB001" -Start "03/12/2009 20:35:00" -End "03/12/2009 20:36:00" | Where-Object { $_.Sender -match "@joyeux-noel.fr" }

En filtrant le « EventID » il est possible savoir l’action sur le message. Ex: Receive, Send, Deliver, Fail…

Lister les messages envoyés d’un utilisateur vers un autre sur une tranche horaire.

Get-Messagetrackinglog -Recipients "popeye@toons.com" -Sender "olive@toons.com" -EventID "RECEIVE" -Start "26/03/2010 07:30:00" -End "26/03/2010 20:00:00" -Server HUB001