# Reset-Dynquota # # Script to unto custom quotas on a usermailbox back to the database defaults # # Configure storage quotas for a mailbox # https://technet.microsoft.com/en-us/library/aa998353(v=exchg.160).aspx param( $resultsize="unlimited", # max mailboxes to read. Use "unlimited" for all. otherwise it i a test only $skipmbsize = 16GB, # skip all mailboxes larger that size $csvresult = ".\reset-dynquota.csv" # reportingfile ) Write-Host "reset-Dynquota:Start" Write-host "Set-ADServerSettings to ViewEntireForest " Set-ADServerSettings -ViewEntireForest $true Write-Host "Loading Mailboxlist" -NoNewline $mblist = Get-mailbox -resultsize $resultsize | Select-Object timestamp,UserPrincipalName,UseDatabaseQuotaDefaults,ProhibitSendQuota,ProhibitSendReceiveQuota,IssueWarningQuota,SizeMB,Change Write-host " Total $($mblist.count)" foreach ($mailbox in $mblist) { Write-host "Check $($mailbox.UserPrincipalName)" -nonewline $mbsize = (Get-MailboxStatistics -identity ($mailbox.UserPrincipalName)).totalitemsize $mailbox.SizeMB = $($mbsize.value.tomb()) $mailbox.Timestamp = get-date -Format u Write-host " - $($mbsize.value.tomb())MB " -nonewline if ($mailbox.UseDatabaseQuotaDefaults) { $mailbox.change = "Unchanged" write-host "Unchanged" -foregroundcolor white } elseif ($mbsize -lt $skipmbsize) { set-mailbox ` -Identity $mailbox.UserPrincipalName ` -UseDatabaseQuotaDefaults:$true ` -ProhibitSendQuota unlimited ` -ProhibitSendReceiveQuota unlimited ` -IssueWarningQuota unlimited $mailbox.change = "SettoDefault" write-host "SettoDefault" -foregroundcolor green } Else { write-host "SkipOverlimit" -foregroundcolor yellow $mailbox.change = "SkipOverlimit" } } $mblist | Export-Csv $csvresult -Append -NoTypeInformation Write-Host "reset-Dynquota:Start"