Olá pessoal,

Dando continuidade a nossa série “Dica PowerShell do Dia”, com dicas simples e eficazes para os administradores de Exchange Server e Office 365, a nossa dica de hoje é sobre os logs que o Exchange Server gera de forma automática para o funcionamento das databases. Estes logs são conhecidos como Transactional Logs, e são eles que auxiliam no processo de escrita e enfileiramento das databases. Porém, como eles podem crescer rapidamente, podem ser um problema ao administrador desatento.

Quer saber quantos logs estão sendo gerados a cada minuto por database?


Get-MailboxDatabase -Server <Mailbox Server Name> | 
%{ Get-ChildItem -Path $_.LogFolderPath -Filter "*????.log" | 
Group-Object -Property {$_.LastWriteTime.Day,$_.LastWriteTime.Hour,$_.LastWriteTime.minute} | 
?{$_.Count -gt 1} | Measure-Object -Property Count -Min -Max -Ave }

Quer saber quantos logs estão sendo gerados a cada minuto por servidor?


Get-MailboxDatabase -Server <Mailbox Server Name> | 
?{ %{$_.DatabaseCopies | 
?{$_.ReplayLagTime -ne [TimeSpan]::Zero -And $_.HostServerName -eq $env:ComputerName} } } | 
%{ $count = 0; $MinT = [DateTime]::MaxValue; $MaxT = [DateTime]::MinValue; Get-ChildItem -Path $_.LogFolderPath -Filter "*????.log" | 
%{ $count = $count + 1; if($_.LastWriteTime -gt $MaxT){ $MaxT = $_.LastWriteTime}; if($_.LastWriteTime -lt $MinT){ $MinT= $_.LastWriteTime} }; ($count / ($MaxT.Subtract($MinT)).TotalMinutes) } | 
Measure-Object -Min -Max -Ave

 

Informações interessantes e práticas a qualquer administrador de Exchange Server. 😉

 

Bruno Lopes – MVP Office Apps & Services | Facebook Page | YouTube Channel | Twitter | LinkedIn