Archive

Articles taggués ‘Filtre’

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


Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :

Categories: Exchange 2007 Tags: ,

Marquer les boites présentent dans une liste.

Permet de marquer garce aux « Custom Attributes » un liste de boites aux lettres présentent dans un fichier texte.
Cela me permet ensuite de faire des filtres pour des opérations de maintenance.

Import-Csv -Path .\movefromidf_9.txt | foreach {Set-Mailbox -Identity $_.displayname -CustomAttribute4 "movefromidf_9"}


Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :

Collecter les events logs à distance.

Ce script permet de collecter dans un fichier Excel les events log des résultats des online defrag sur tous les serveurs de boites aux lettres de l’organisation.
Un fois que vous avez le résultat des défragmentation online, vous pouvez évaluer si il est pertinent d’effectuer une défragmentation offline sur certaines Databases.

$a = New-Object -comobject Excel.Application
 
$a.Visible = $True
 
$b = $a.Workbooks.Add()
$c = $b.Worksheets.Item(1)
 
$col = 1
$ligne = 1
 
$c.Cells.Item(1,1) = "Server"
$c.Cells.Item(1,2) = "Database"
$c.Cells.Item(1,3) = "Date"
$c.Cells.Item(1,4) = "Free space"
 
$ligne++
 
$ExchServer = Get-MailboxServer
foreach ($Server in $ExchServer){
 
$WmidtQueryDT = [System.Management.ManagementDateTimeConverter]::ToDmtfDateTime([DateTime]::Now.AddDays(-1))
$1221 = Get-WmiObject -computer $Server -query ("Select * from Win32_NTLogEvent Where Logfile='Application' and Eventcode = '1221' and TimeWritten >='" + $WmidtQueryDT + "'")
 
foreach ($event in $1221){
$database = $event.message.split('"')[1]
$size = $event.message.split('"')[2].split(" ")[2]
$date = $event.ConvertToDateTime($event.timewritten)
 
	$col = 1
	$c.Cells.Item($ligne,$col) = [string]$Server
	$col++
	$c.Cells.Item($ligne,$col) = [string]$database
	$col++
	$c.Cells.Item($ligne,$col) = [string]$date
	$col++
	$c.Cells.Item($ligne,$col) = [string]$size
	$ligne++
 
}
}


Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :

Categories: Exchange 2007 Tags: , , ,

Filtrer les boites dans une fourchette de tailles.

Ce filtre affiche les boites de plus de 650MB et moins de 900MB d’une database et qui n’ont pas le CustomAttribute4 renseigné.

Ce filtre me permet ensuite de lancer un move-mailbox afin d’alléger des databases trop chargées.

Get-Mailbox -Database ccr001\DB_SG_Paris_5 | Where-Object { $_.CustomAttribute4 -ne "mailboxwithblackberry" } | foreach { Get-MailboxStatistics -Identity $_.alias | Where-Object { $_.totalitemsize -gt 650mb -and $_.totalitemsize -lt 900Mb }} | ft displayname, database, @{ expression={$_.TotalItemSize.Value.ToMB() } ;label="TotalItemSize (MB)" }


Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :

Afficher les boites restreintes par un quota.

Affiche les boites de plus de 500MB qui ont l’héritage de configuration des quotas actif.
J’ai ajouté un filtre sur le serveur et les databases d’une filiale.

Get-MailboxStatistics -Server CCR004| Where {$_.Database -match "paris" -and $_.TotalItemSize -gt 500MB} | ForEach-Object { $size = $_.TotalItemSize ; Get-mailbox -Identity $_.displayname | where-object { $_.UseDatabaseQuotaDefaults -eq "true" }}| Select-Object displayname,alias,database, @{ expression={$size.Value.ToMB() } ;label="TotalItemSize (MB)" }


Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :

Affiche la taille des boites d’une OU.

Permet d’afficher les taille des boites se trouvant dans une OU.

Get-Mailbox -OrganizationalUnit "domain.local/OU_FI00/OU_Compta" | Get-MailboxStatistics | Sort-Object -Property TotalItemSize -Descending | ft displayname, database, @{ expression={$_.TotalItemSize.Value.ToMB() } ;label="TotalItemSize (MB)" }


Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :

Combien y a t’il de Christophe dans la boite.

Un p’tit truc rapide pour compter ne nombre Christophe dans la boite.

$christophe = get-mailbox *christophe*
$christophe.count

Il y en a tout de même 249. Pas mal…


Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :

Lister les destinataires d’un mass mailing.

Permet de lister les destinataires d’un mass mailing et de les exporter dans un fichier.

get-messagetrackinglog -Server TransportServer01 -Sender sender@hotmail.com -Start "16/09/2009 19:30:00" -End "16/09/2009 20:30:00" -EventID Receive | Where-Object { $_.ClientIp -eq "192.168.1.56"} | Select-Object Timestamp,ServerHostname,Sender,MessageSubject,{$_.Recipients} | Export-Csv -Path massmail01.txt


Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :

Traiter aléatoirement une liste de compte.

Permet de traiter de façon aléatoire un certain nombre d’utilisateurs dans une listés dans un fichier.

$impfile = ".\impfile.txt"
$resfile = New-Item -ItemType file -Path $impfile -Force
$expfile = ".\expfile.txt"
Get-Mailbox -Identity *christophe* | Select-Object DisplayName,Alias | Export-Csv -Path $expfile
Add-Content -Path $resfile -Value "DisplayName,Alias"
$result = Get-Content -Path $expfile | Get-Random -Count 4
Add-Content -Path $resfile -Value $result
Import-Csv -path $resfile | foreach {
Get-QADUser -Identity $_.alias | Ft Displayname,UserPrincipalName,PasswordAge,PasswordExpires
}


Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :

Categories: Powershell Tags: ,

Lister les boites d’une OU dans une databases.

Cette commande permet d’afficher les boites d’une OU se trouvant dans des mailbox databases qui ne correspondent pas.
Dans un gros environnement, cela peut arriver et avoir des conséquences sur la gestion des quotas et limites.

Get-Mailbox -ResultSize Unlimited | Where-Object { $_.OrganizationalUnit -match "OU_Comptabilite" -and $_.database -match "MDB_Direction" } | Ft DisplayName,Alias,Database


Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :