Friday, April 29, 2011

PowerShell: Set Mailbox Quota via AD Account Settings

Using only AD to set mailbox quota sizes.

#######################################################################
# Description: Set Mailbox Quota Sizes for Members of an AD Group
# 2GB Mailbox 2097152 and 1992294
# 1GB Mailbox 1048576 and 996352
#######################################################################

#Retrieve AD Group
$objGroup = [ADSI]"LDAP://CN=BioTech,OU=campusDepts,DC=MYDOMAIN,DC=edu"
#Create Array of Group Members
$objGroupMembers = $objGroup.member

foreach ($user in $objGroupMembers)
{
#Retrieve AD User Info
$userPath = "LDAP://" + $user
$objUser = [ADSI]$userPath

#Check to See of User Account Has a Mailbox
if ($objUser.homeMDB)
{
#Apply to Only Mailboxes with Default DB Setting or Lower Mailbox Quota Limit
if (($objUser.mDBUseDefaults -eq $true) -or ($objUser.mDBOverQuotaLimit -lt 2097152))
{
#Set Prohibit Send
$objUser.mDBOverQuotaLimit = 2097152
$objUser.setInfo()
#Set Issue Warning
$objUser.mDBStorageQuota = 1992294
$objUser.setInfo()
#Set Use Database Defaults Setting
$objUser.mDBUseDefaults = $false
$objUser.setInfo()
#Write Out Accounts Changed (Quick Logging)
Write-Host $objUser.sAMAccountName
}

}

}

Write-Host "All Done"

No comments: