terça-feira, novembro 21, 2017
Breaking News
Home » Exchange Server » Obtendo estatísticas de Mailbox no Exchange 2007

Obtendo estatísticas de Mailbox no Exchange 2007

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

 

Agora você pode ver outros fragmentos de informação importantes, tais como o atributo de TotalItemSize que tem um valor de 1584504B, ou aproximadamente 1.5MB. Claramente User2 não é um usuário grande da troca 2007. Agora que nós sabemos que o atributo que nós estamos interessados dentro é chamado TotalItemSize, nós podemos modificar nosso cmdlet original para extrair esta informação junto com o nome de caixa postal e a contagem do artigo. O cmdlet a usar-se é mostrado abaixo. Anote o fato de que esta vez, nós usamos o cmdlet da Formato-Tabela, ou o ft para o short, para produzir a saída no formato da tabela:

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!!

Sobre Diego Duarte

Diego Duarte Atua como coordenador de NOC, toca um violãozinho nas horas vagas e tenta eternamente entender o que o fez escolher TI

Veja também!

Exchange – Exibindo e alterando a opção “Require that all senders are authenticated”

Quem já trabalha com serviço de email, sabe da importância e da facilidade que os grupos de distribuição inserem no gerenciamento das contas e contatos. Hoje veremos como alterar em massa, pelo EMS (Exchange Management Shell) a propriedade "Require that all senders are authenticated"

Um comentário

  1. Isso tem me ajudado bastante.. tomara que à vocês também!

Este artigo lhe foi útil? comente e ajude outros acrescentando seu ponto de vista!