Schon lange überfällig habe ich heute mal ein Syntax Highlighting Plugin aktiviert und einige von den letzten Beiträgen angepasst.

Ich hoffe, dass so das Kopieren von Skripten etc. einfacher gelingt.


Wenn dir dieser Artikel gefallen hat, kannst du ihn mit einem Klick auf die folgenden Buttons weiterempfehlen. Möchtest du in Zukunft keine neuen Beiträge mehr verpassen? Dann abonniere doch den RSS Feed dieses Blogs. Vielen Dank!

Damit die Mailboxgröße nicht überläuft, macht es natürlich Sinn, Quotas bzw. Beschränkungen auf die Postfächer festzulegen.

Wir haben nun einige Postfächer mit keiner Größenbeschränkung die schon etwas größer sind und diese wollen nicht gleich gesperrt werden. Deswegen habe ich mir gedacht, dass es sinnvoll wäre, eine Gegenüberstellung der Mailboxsize und dem gesetzten Quota aufzulisten. Mit den zwei Befehlen Get-Mailbox und Get-MailboxStatistics bekommt man beide Informationen sehr einfach angezeigt.

Weiterhin werden bei uns Postfächer u.a. mit dem customAttribute1 separiert. Nun gilt es diese schön geordnet nebeneinander aufzuführen. Kurz und knapp, anbei das Script und das Ergebnis in einer csv-Datei. Man kann frei wählen, ob man die Postfächer nach dem customAttribute1 beschränkt oder eben alle aufruft.

./Get-MailboxQuotaUsage.ps1 “customAttribute1″

Nun das Ergebnis:

Get-MailboxQuotaUsage

 

 

 

 
 
Und das Skript:

## Comparsion MailboxSize and Quota Script written by Marius Schloten 

$RptCollection = @()
$cattribute = ""

function CovertBitValue($String){
    $numItempattern = '(?=\().*(?=bytes)'
    $matchedItemsNumber = [regex]::matches($String, $numItempattern)
    $Mb = [INT64]$matchedItemsNumber[0].Value.Replace("(","").Replace(",","")
    return [math]::round($Mb/1048576,0)
}  

#In my case we filter some users with the customAttribute1, you can use this
#parameter. If there is no parameter all mailboxes will be used
if ($Args.count -lt 1) {

    'No Parameter! customAttribute is not set. Getting all mailboxes!'
    'Usage:'
    './Get-MailboxQuotaUsage.ps1 with customAttribute1 (e.g. "CompanyName")'
    ''
	'./Get-MailboxQuotaUsage.ps1 "contoso"'
	''
	$cattribute = "*"
}
else{
$cattribute = $args[0]
}

#Get-Mailboxes, with or without 'customAttribute1'
$mailboxes = Get-Mailbox -ResultSize Unlimited | ?{$_.customattribute1 -like $cattribute}
$mailboxes | ForEach-Object{
$username = $_.SamAccountName
$MailboxName = $_.Name.ToString()
"Processing Mailbox : " + $MailboxName  

$rptObj = "" | select  MailboxName,Mailboxsize,SetQuota,customAttribute
$rptObj.MailboxName = $MailboxName
$rptObj.SetQuota = $_.ProhibitSendQuota

$MailboxStats = Get-MailboxStatistics $username
$ts = CovertBitValue($MailboxStats.TotalItemSize.ToString())
"Total Size : " + $MailboxStats.TotalItemSize
$rptObj.MailboxSize = $MailboxStats.TotalItemSize
"SetQuota : " + $_.ProhibitSendQuota
$rptObj.customAttribute = $_.customattribute1

$RptCollection +=$rptObj
}
#Sort items by MailboxSize descending
$RptCollection = $RptCollection | Sort-Object MailboxSize -Descending
$RptCollection | Export-Csv -NoTypeInformation  c:\usageReport.csv

Wenn dir dieser Artikel gefallen hat, kannst du ihn mit einem Klick auf die folgenden Buttons weiterempfehlen. Möchtest du in Zukunft keine neuen Beiträge mehr verpassen? Dann abonniere doch den RSS Feed dieses Blogs. Vielen Dank!