Exchange ,Raise mailboxes quota above existing size

This topic contains 1 reply, has 1 voice, and was last updated by Profile photo of turbo mcp turbo mcp 3 years, 2 months ago.

  • Author
    Posts
  • #12986
    Profile photo of turbo mcp
    turbo mcp
    Participant

    Hi
    I am thinking what would be the best approach to do this:
    I need to raise mailbox quota warning(warning,send,send/rec)
    by for xample
    10
    20
    30
    of their existing mailbox size in exchange.
    for example if user1 has 550mb mailbox size right now then:
    set his quota warnings to:
    warning>>560
    send>>570
    send/rec>>580

    Thanks in advance

  • #12989
    Profile photo of turbo mcp
    turbo mcp
    Participant

    sorry for the amature style script but this is what I got so far:

    # Increase-MailboxQuota.ps1

    # Script for incrementing mailbox quotas

    # Amount to increase Quotas in megabytes
    if ((get-pssnapin |% {$_.name}) -notcontains "Microsoft.Exchange.Management.PowerShell.E2013"){

    . 'C:\Program Files\Microsoft\Exchange Server\V15\bin\RemoteExchange.ps1'

    Connect-ExchangeServer -auto

    }

    $QuotaWarning = 10
    $QuotaSend = 30
    $QuotaSendRecieve = 50

    # Get the mailbox

    $Mailboxes = Get-Mailbox -ErrorAction Silentlycontinue
    foreach ($mailbox in $Mailboxes)
    {

    # Getting the current mailbox information,size and quota

    $DisplayName = $Mailbox.DisplayName
    $Database = $Mailbox.Database
    $UsingDBQuotas = $Mailbox.UseDatabaseQuotaDefaults
    $MailboxSize = (Get-MailboxStatistics -Identity $Mailbox.Name).TotalItemSize.value.ToMB()
    $CurrentWarningQuota = $Mailbox.IssueWarningQuota.value.ToMB()
    $CurrentSendQuota = $Mailbox.ProhibitSendQuota.value.ToMB()
    $CurrentSendRecieveQuota = $Mailbox.Prohibitsendreceivequota.value.ToMB()

    # Calculate the new quotas
    $NewWarningQuota = $MailboxSize + $QuotaWarning
    $NewSendQuota = $MailboxSize + $QuotaSend
    $NewSendRecieveQuota = $MailboxSize + $QuotaSendRecieve

    # Set the new values on the mailbox

    $NewWarningQuotaset = [STRING]$NewWarningQuota + "MB"
    $NewSendQuotaset = [STRING]$NewSendQuota + "MB"
    $NewSendRecieveQuotaset = [STRING]$NewSendRecieveQuota + "MB"

    Set-Mailbox -Identity $Mailbox -UseDatabaseQuotaDefaults $False -ProhibitSendQuota $NewSendQuotaset -IssueWarningQuota $NewWarningQuotaset -Prohibitsendreceivequota $NewSendRecieveQuotaset

    # output some new and old info

    }


    seems to do what it was intended although when running it from ise(don't think it matters)
    I get a lot of these errors:

    PS C:\Windows\system32> C:\Users\administrator.TEST\Desktop\quota.ps1

    Welcome to the Exchange Management Shell!

    Full list of cmdlets: Get-Command
    Only Exchange cmdlets: Get-ExCommand
    Cmdlets that match a specific string: Help **
    Get general help: Help
    Get help for a cmdlet: Help or -?
    Show quick reference guide: QuickRef
    Exchange team blog: Get-ExBlog
    Show full output for a command: | Format-List

    Tip of the day #19:

    If you want to test all IP Block List providers, you just have to pipe the Get-IpBlockListProvider cmdlet to the Test-IpBlockListProvider cmdlet:

    Get-IpBlockListProvider | Test-IpBlockListProvider -IpAddress 192.168.0.1

    VERBOSE: Connecting to EX1.Test.corp.
    VERBOSE: Connected to EX1.Test.corp.
    You cannot call a method on a null-valued expression.
    At C:\Users\administrator.TEST\Desktop\quota.ps1:30 char:1
    + $CurrentWarningQuota = $Mailbox.IssueWarningQuota.value.ToMB()
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

    You cannot call a method on a null-valued expression.
    At C:\Users\administrator.TEST\Desktop\quota.ps1:31 char:1
    + $CurrentSendQuota = $Mailbox.ProhibitSendQuota.value.ToMB()
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

    You cannot call a method on a null-valued expression.
    At C:\Users\administrator.TEST\Desktop\quota.ps1:32 char:1
    + $CurrentSendRecieveQuota = $Mailbox.Prohibitsendreceivequota.value.ToMB()
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

    WARNING: The user hasn't logged on to mailbox 'DiscoverySearchMailbox {D919BA05-46A6-415f-80AD-7E09334BB852}' ('f8bff58a-ef06-498d-8462-49df5e38393c'), so the
    re is no data to return. After the user logs on, this warning will no longer appear.
    You cannot call a method on a null-valued expression.
    At C:\Users\administrator.TEST\Desktop\quota.ps1:29 char:1
    + $MailboxSize = (Get-MailboxStatistics -Identity $Mailbox.Name).TotalItemSize.val ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

    You cannot call a method on a null-valued expression.
    At C:\Users\administrator.TEST\Desktop\quota.ps1:30 char:1
    + $CurrentWarningQuota = $Mailbox.IssueWarningQuota.value.ToMB()
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

    You cannot call a method on a null-valued expression.
    At C:\Users\administrator.TEST\Desktop\quota.ps1:30 char:1
    + $CurrentWarningQuota = $Mailbox.IssueWarningQuota.value.ToMB()
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

    You cannot call a method on a null-valued expression.
    At C:\Users\administrator.TEST\Desktop\quota.ps1:31 char:1
    + $CurrentSendQuota = $Mailbox.ProhibitSendQuota.value.ToMB()
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

    You cannot call a method on a null-valued expression.
    At C:\Users\administrator.TEST\Desktop\quota.ps1:32 char:1
    + $CurrentSendRecieveQuota = $Mailbox.Prohibitsendreceivequota.value.ToMB()
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

    You cannot call a method on a null-valued expression.
    At C:\Users\administrator.TEST\Desktop\quota.ps1:30 char:1
    + $CurrentWarningQuota = $Mailbox.IssueWarningQuota.value.ToMB()
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

    You cannot call a method on a null-valued expression.
    At C:\Users\administrator.TEST\Desktop\quota.ps1:31 char:1
    + $CurrentSendQuota = $Mailbox.ProhibitSendQuota.value.ToMB()
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

    You cannot call a method on a null-valued expression.
    At C:\Users\administrator.TEST\Desktop\quota.ps1:32 char:1
    + $CurrentSendRecieveQuota = $Mailbox.Prohibitsendreceivequota.value.ToMB()
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

    I would also like to add some output to txt or csv(didn't figure that one yet)
    to output what the old value was and what the new value is per mailbox.

    any ideas?

You must be logged in to reply to this topic.