none
relatórios tamanho, quotas, e outras coisas. RRS feed

  • Pergunta

  • Boa noite, eu quero criar um relatório em powershell, que mostra as seguintes informações das caixas de correio de usuário:

    Name, WarningQuota, ProhibitSendQuota, ProhibitSendReceiveQuota, size, items

    Alguem poderia me ajudar? estou enfrentando dificuldades para fazer esse script! 

    Desde de já agradeço! utilizo o exchange server 2010! 


    Chesley Rocha Analista de Suporte MCP - Microsoft Certifiel Professional Itil V3 Certifiel

    sexta-feira, 1 de fevereiro de 2013 12:48

Respostas

  • Bom dia, Chesley!

    Se você definiu as quotas nos databases (que é mais prático a nível de administração), então podes utilizar o seguinte script:

    Get-Mailbox -ResultSize Unlimited |  select DisplayName, Alias, Database, PrimarySmtpAddress,@{name=’IssuewarningQuota’;expression={if ($_.IssueWarningQuota -match "UNLIMITED") {"-1"} else {$_.IssueWarningQuota.value.tomb() }}},@{name=’ProhibitSendQuota’;expression={if ($_.ProhibitSendQuota -match "UNLIMITED") {"-1"} else {$_.ProhibitSendQuota.value.tomb() }}},@{name=’ProhibitSendReceiveQuota’;expression={if ($_.ProhibitSendReceiveQuota -match "UNLIMITED") {"-1"} else {$_.ProhibitSendReceiveQuota.value.tomb() }}},WhenCreated  |export-csv C:\stats.csv
    
    "DisplayName,Alias,Size MB,ItemCount,PrimarysmtpAddress,Database,ProhibitSendQuotaMB,ProhibitSendReceiveQuotaMB,IssueWarningQuotaMB" | out-file C:\MailstatsResult.csv
    
    $csv = Import-csv -path "C:\stats.csv"
    foreach($line in $csv)
    { 
    	$MailboxDatabase =  Get-MailboxDatabase $Line.Database | Select IssuewarningQuota,ProhibitSendQuota,ProhibitSendReceiveQuota
    	
    	$MailboxStats =  Get-MailboxStatistics $Line.Alias | Select TotalItemSize,Itemcount
    	$L = "{0:N0}" -f $mailboxstats.totalitemsize.value.toMB()
    	$Size = ""
    	$Len = $L.Split(',')
    	for ($i=0; $i -lt $Len.length; $i++)
    		{
    			$Size = $Size +$Len[$i] 
    		}
    	
    	$out =$Line.Displayname + "," +	$Line.Alias + "," +	$Size + "," + $MailboxStats.ItemCount + "," + $Line.PrimarySmtpAddress + "," + $Line.Database + "," +	$MailboxDatabase.ProhibitSendQuota + "," + $MailboxDatabase.ProhibitSendReceiveQuota + "," + $MailboxDatabase.IssuewarningQuota
    	$Out | Out-File C:\MailstatsResult.csv -Append
    }

    Porém, precisas ter certeza que nenhuma mailbox tenha as quotas definidas explicitamente, pois, o script traz as informações somente dos databases.

    A saída do script é o arquivo C:\MailstatsResult.csv.

    Qualquer dúvida, estou à disposição.


    Alexandre Smialoski

    • Marcado como Resposta Richard Juhasz quarta-feira, 27 de fevereiro de 2013 16:44
    segunda-feira, 18 de fevereiro de 2013 13:34