Extraire l’espace d’adressage d’un connecteur.
Voici comment extraire rapidement l’espace d’adressage d’un connecteur d’envoi SMTP Exchange 2007.
$conn = Get-SendConnector -Identity "ToExtRouters" $conn.AddressSpaces | Select-Object Domain |
Voici comment extraire rapidement l’espace d’adressage d’un connecteur d’envoi SMTP Exchange 2007.
$conn = Get-SendConnector -Identity "ToExtRouters" $conn.AddressSpaces | Select-Object Domain |
CurrPorts est un petit utilitaire très pratique pour visualiser les ports utilisés par votre ordinateur.
Il permet surtout de savoir qu’elle application utilise quels ports TCP ou UDP.
Et plein d’autres informations et actions.
Téléchargeable ici.
Si vérifier qu’un utilisateur n’est pas membre d’un groupe est rapide
Get-QADUser -Identity "louis.defunes" -NotMemberOf "Gendarmerie" |
ou si lister les utilisateurs d’un OU qui ne sont pas membres d’un groupe est facile,
Get-QADUser -SearchRoot "domain.local/StTropez" -SizeLimit 0 -NotMemberOf "Gendarmerie" |
faire la même chose pour tous les utilisateurs d’une OU pour plusieurs groupes est plus compliquée.
Voici donc comment lister les utilisateurs d’un OU absents de deux groupes.
$ou = Read-Host "Enter the OU name" $fullou = "domain.local/" + $ou $group1 = "Gendarmerie" $group2 = "Port" Get-Mailbox -ResultSize Unlimited -OrganizationalUnit $ou | where {Get-QADUser $_.alias -NotMemberOf $group1 } | where {Get-QADUser $_.alias -NotMemberOf $group2 } |
Pour compter rapidement le nombre de membres dans un groupe.
$gp = Read-Host "Enter group name" $member = $null Get-QADGroupMember -SizeLimit 0 -Identity $gp | foreach { $member++ } Write-Host $member " in " $gp |
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 } } |
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 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 } |
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 } |
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 } |