Saudações Leitores,
Nas versões anteriores do Exchange era possivel ver o tamanho dos mailboxes dentro do snap-in de gerenciamento, contudo, as versões mais novas do Exchange não permitem mais este recurso via GUI (graphical user interface), então abordarei neste artigo como fazer via Power Shell. Veja:
Get-MailboxStatistics Basics
O cmdlet mais básico de Power Shell para Exchange é o cmdlet da Get-MailboxStatistics. A figura 1 mostra um exemplo da saída deste cmdlet sem parâmetros adicionais.
Figure 1: Resultado do Get-MailboxStatistics
Como você pode ver, à revelia este dá-nos 4 fragmentos de informação para cada caixa postal no usuário local, a saber o nome da exposição da caixa postal, o número de artigos na caixa postal, o status do limite do armazenamento da caixa postal e a última vez do início de uma sessão. O tamanho real da caixa postal não é mostrado à revelia assim que a primeira tarefa é determinar o nome do atributo que armazena este valor. O caminho para determinar os atributos disponíveis que podem ser recuperados é conduzir os resultados do cmdlet no cmdlet da Formato-Lista, ou no caso, fl . Por exemplo, nosso cmdlet torna-se agora:
Get-MailboxStatistics | fl
A seguir os resultados do comando acima, onde os atributos da caixa postal de User2 são mostrados:
Figure 2: Resultados de Get-MailboxStatistics | fl
Get-MailboxStatistics | ft DisplayName,TotalItemSize,ItemCount
Figure 3: Get-MailboxStatistics With Mailbox Sizes
Now we are getting somewhere, as this is a fairly concise output telling us pretty much what we need to know. However, there are a couple of drawbacks to this output. Firstly, the output is not in ascending or descending order, so it is difficult to see quickly which mailboxes are the biggest. Also, the TotalItemSize column is shown in bytes by default which also does not make for easy reading.
Emailing The Results
Figura 7 abaixo mostra um script PowerShell chamado sendstats.ps1 que pode ser usado para gerar as estatísticas e enviar para a caixa de correio através do cmdlet. A primeira coisa a notar com o script é que os resultados do cmdlet Get-MailboxStatistics têm sido direcionados para um arquivo chamado mailboxes.txt. Este arquivo é criado na pasta onde o script é executado. As outras linhas do script criar e enviar e-mail, adicionando o arquivo mailboxes.txt como um anexo. Uma coisa importante a salientar é que a linha de partida referências $ SendingServer o FQDN do servidor de correio eletrônico responsável pelo envio da mensagem. Obviamente será uma exigência para garantir que este servidor pode realmente transmitir a mensagem.
###Send mailbox statistics script
###First, the administrator must change the mail message values in this section
$FromAddress = [email protected]
$ToAddress = [email protected]
$MessageSubject = “Mailbox Size Report”
$MessageBody = “Attached is the current list of mailbox sizes.”
$SendingServer = “e2k7.neilhobson.com”
###Now get the stats and store in a text file
Get-MailboxStatistics | Sort-Object TotalItemSize -Descending | ft
DisplayName,@{label=”TotalItemSize(KB)”;expression={$_.TotalItemSize.Value.ToKB()}},
ItemCount > mailboxes.txt
###Create the mail message and add the statistics text file as an attachment
$SMTPMessage = New-Object System.Net.Mail.MailMessage $FromAddress, $ToAddress,
$MessageSubject, $MessageBody
$Attachment = New-Object Net.Mail.Attachment(“./mailboxes.txt”)
$SMTPMessage.Attachments.Add($Attachment)
###Send the message
$SMTPClient = New-Object System.Net.Mail.SMTPClient $SendingServer
$SMTPClient.Send($SMTPMessage)
Figure 7: SendStats.PS1 Script
Uma vez executado, o script deve enviar o e-mail como você pode ver abaixo na Figura 8. Abrir o anexo revela a saída do script Get-MailboxStatistics como mostrado na Figura 9.
Figure 8: Emailed Report
Figure 9: Attachment Contents
Apesar de que fica-nos um e-mail com os dados relevantes contidos no seu interior, não há nada contido dentro do script quanto ele está sendo executado em uma programação regular. Para isso, podemos tirar vantagem do scheduler do Windows e executar o script em uma base regular. Para fazer isso, precisamos executar o Shell de Gerenciamento do Exchange e também especificar o script para ser executado. Isto pode ser conseguido através do seguinte comando:
PowerShell.exe-PSConsoleFile “C: \ Program Files \ Microsoft \ Exchange Server \ Bin \ ExShell.psc1” Command “./sendstats.ps1”
Aqui você pode ver que PowerShell é executado e carrega o arquivo de console Exchange, encontrado na unidade C: neste exemplo. Obviamente, você pode precisar de mudar isso, dependendo da unidade em que o Exchange 2007 foi instalado em. O Comando-parâmetro é usado para identificar o script que deseja executar, ou seja, sendstats.ps1.
Link do artigo Original [ingles]: http://www.msexchange.org/articles_tutorials/exchange-server-2007/management-administration/getting-mailbox-statistics-exchange-2007.html
Espero que seja útil a você, assim como foi para mim. Até a próxima pessoal!!
1 Comentário. Deixe novo
Isso tem me ajudado bastante.. tomara que à vocês também!