Bharat
Mon Dec 11 14:03:11 CST 2006
- From the Mailbox Store, check the following attributes:
mDBStorageQuota
mDBOverQuotaLimit
mDBOverHardQuotaLimit
This will get you the limits if implemented on the Mailbox Store.
- If limits are applied by a System Policy: check the "msExchPolicyList"
attribute of the Mailbox Store. This has the distinguishedName of the System
Policy that applies to that Store. These are stores in the "Policies"
container in the Administrative Group.
e.g.
CN=MyMailboxQuotaPolicyName,CN=Policies,CN=First Administrative Group,
CN=Administrative Groups, CN=MyExchangeOrg,CN=Microsoft
Exchange,CN=Services,CN=Configuration,DC=MyDomain,DC=com
- The "msExchPolicyListBL" has distinguishedName(s) of the Mailbox Stores to
which the policy is applied - if you want to cross-check.
The objectClass for the policy is msExchPrivateMDBPolicy.
If any policies that apply to the user's Mailbox Store are found, you can
list the same attributes (as the user and the Mailbox Store) to get list of
limits applied by Policy:
mDBStorageQuota
mDBOverQuotaLimit
mDBOverHardQuotaLimit
To summarize, I would:
1) get list of all Mailbox Store(s) and their limits
2) get list of all policies (objectClass=msExchPrivateMDBPolicy), the Stores
that they apply to (msExchPolicyListBL), and the Policy limits, then
*Get the above 2 as the first thing in your script before you enumerate
users, store them in variables/dictionary
3) get user, check limits - if individual limits exist then output those, if
not - go to Store/variable/dictionary object - check if Policy applies -> if
yes, output the Policy limits, -> if not, check Store limits and see if
limits exist -> if yes, output those.
When I wrote the script I linked to in earlier post, it was simply easier to
just list the exceptions (when individual limits are set, bypassing Store
limits).
--
Bharat Suneja
MVP - Exchange
www.zenprise.com
NEW blog location:
www.exchangepedia.com/blog
----------------------------------------------
"NY Steve" <j@j.j> wrote in message
news:u6zPONVHHHA.3872@TK2MSFTNGP06.phx.gbl...
>i can get current size with Mailbox.Size, and current limit IF its set in
>AD. but if the user is using defaults, how can i read the size of the
>policy that governs the limit on their mailbox?
>
>
> "Bharat Suneja [MVP]" <bharatsuneja@no.spam.org> wrote in message
> news:OIyYAHVHHHA.1912@TK2MSFTNGP03.phx.gbl...
>> Part of the solution:
>> You check if user account is set to bypass policy (i.e. has individually
>> set limit) - if yes, you report the individual limit, if not you report
>> the limit set by the policy.
>>
>> Here's a script that shows (individually set) mailbox limits. (You can
>> modify it to report the policy limit if it's not set individually).
>>
http://www.exchangepedia.com/blog/2005/10/script-show-mailbox-limits.html
>>
>> --
>> Bharat Suneja
>> MVP - Exchange
>> www.zenprise.com
>> NEW blog location:
>> www.exchangepedia.com/blog
>> ----------------------------------------------
>>
>>
>>
>> "NY Steve" <j@j.j> wrote in message
>> news:O9j%23cEVHHHA.1816@TK2MSFTNGP06.phx.gbl...
>>> hi all.
>>>
>>> i need a script that will report 2 things: mailbox size limit, current
>>> mailbox size. does anyone have a quick example? my main concern is
>>> getting the size limit. if this is set via policy in exchange, how can
>>> the limit (in MB) be read?
>>>
>>> thanks
>>>
>>>
>>
>>
>
>