>From the server... (or somewhere you have the Exchange Client tools loaded...)
Obviously a for each loop would be required to loop through all the users, but this should get you the nitty gritty details you want once you construct your list of users to loop through (if you don't want to do the WMI route). use Win32::OLE; my $userObjCDO = Win32::OLE->new('CDO.Person'); &PrintError( 'CDO creating object CDO.Person'); my $user_obj = Win32::OLE->GetObject("LDAP://DOMAINNAME/CN=username,OU=OU NAME,DC=domain,DC=suffix"); &PrintError( 'opening user account from AD'); my $mailRcpt = $userObjCDO->GetInterface( "IMailRecipient"); &PrintError( 'getting IMailRecipient interface from CDO.Person'); my $mailStore = $userObjCDO->GetInterface( "IMailboxStore"); &PrintError( 'getting IMailboxStore interface from CDO.Person'); print "incoming limit: " . $mailRcpt->{"IncomingLimit"}."\n"; print "outgoing limit: " . $mailRcpt->{"OutgoingLimit"}."\n"; print "EnableStoreDefaults: " . $mailStore->{"EnableStoreDefaults"}."\n"; print "StoreQuota: " . $mailStore->{"StoreQuota"}."\n"; print "OverQuotaLimit: " . $mailStore->{"OverQuotaLimit"}."\n"; print "Hard Limit: " . $mailStore->{"HardLimit"}."\n"; sub PrintError { if (Win32::OLE::LastError() != 0) { die $_[0]."\n".Win32::OLE::LastError()."\n"; } } HTH Cheers! Steven -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: Tuesday, May 29, 2007 4:21 PM To: Perl-Win32-Admin@listserv.ActiveState.com Subject: Re: List each Storage Limit per user Try : use Win32::OLE qw(in); # Get item counts and sizes for each mailbox on the target server # my $OLECon= Win32::OLE->GetObject('winmgmts:\\\\localhost\\root\\MicrosoftExchangeV2 ') or die "WMI Connection Failed\n"; my $MailBoxes = $OLECon->ExecQuery("Select * From Exchange_Mailbox") or die "WMI Query Failed!\n"; print "----------------------------------------------------------------------- --------\n"; print "- Mailbox Size Report -\n"; print "----------------------------------------------------------------------- --------\n"; foreach my $mailbox (in $MailBoxes) { print "MailboxDisplayName: ......... " . $mailbox->MailboxDisplayName . "\n" . "\tSize: .......... " . $mailbox->Size . "\n" . "\tTotalItems: ......... " . $mailbox->TotalItems . "\n" . "\tStorageLimitInfo: ......... " . $mailbox->StorageLimitInfo . "\n" . "\tStoreName: ......... " . $mailbox->StoreName . "\n"; } print "----------------------------------------------------------------------- --------\n\n"; } > I am looking to list each user on my exchange server the following: > SMTP address, Storage Limit setting. > > I already have a list that extracts their current mailbox size. But I > need to know their limit so I can see if the current Mailbox size is > greater then.. And send them an email.. > > Thanks in advance,,, > > Leo Durocher > Network Engineer > <<Picture (Metafile)>> > > > > IMPORTANT NOTICE: This message is intended only for the addressee and > may contain confidential, privileged information. > If you are not the intended recipient, you may not use, copy or > disclose any information contained in the message. > If you have received this message in error, please notify the sender > by reply e-mail and delete the message. > _______________________________________________ > Perl-Win32-Admin mailing list > Perl-Win32-Admin@listserv.ActiveState.com > To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs > _______________________________________________ Perl-Win32-Admin mailing list Perl-Win32-Admin@listserv.ActiveState.com To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs _______________________________________________ Perl-Win32-Admin mailing list Perl-Win32-Admin@listserv.ActiveState.com To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs