Accueil > Exchange 2007 > Collecter les events logs à distance.

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

No related posts.

Categories: Exchange 2007 Tags: , , ,
  1. Pas encore de commentaire
  1. Pas encore de trackbacks