Mailbox creation date
Hello all, is there a way to find when an Exchange 2007 mailbox was created? More specifically, is there a way to get this information for a particular mailbox via powershell, hopefully via the get-mailbox cmdlet? I see a WhenCreated attribute in the full results of a get-mailbox command but that appears to be the date when the user account was created. I realize a mailbox isn't truly created until mail is sent to the user but that date is fine enough for my purposes. Thanks!
November 19th, 2008 10:35pm
Hi,
According to the help file the whencreated time stamp is when the object is created.
Have you tried to create a user account without mailbox, wait some time and then create a mailbox and look at the whencreated stamp?
Leif
Free Windows Admin Tool Kit Click here and download it now
November 20th, 2008 12:07am
Hi Leif,Thanks for your reply. I haven't tried the operation you specify but I do know that on the few mailbox-enabled users I've looked at so far, the WhenCreated value is years before we had an Exchange implementation so my general assumption is that WhenCreated refers to the date the user object was created. When you refer to the "help file" which help file are you reading from? I haven't found a place to get specific help about specific attributes. Thanks!Jason
November 20th, 2008 12:18am
According to this blog entry and other resources I've read, the prospect of reliably finding when a mailbox was created is pretty grim. Bummer.This page references the MS Exchange Server MAPI editor as a tool to view the pr_creation time MAPI property but that's not really realistic for my hope of getting the MB creation date for hundreds of MBs using a Powershell script.
Free Windows Admin Tool Kit Click here and download it now
November 20th, 2008 1:50am
Yes, WhenCreated attribute is based on the creating time of user object not mailbox
Also,per my testing, PR_CREATION_TIME attribute is also not the create time of mailbox
Example:
a. When I create a user Test, WhenCreated attributes time: 6:55:48 AM
b. When I create Tests mailbox, WhenChanged attributes time changed from <6:55:48 AM> to <6:59:04 AM>
c. When I create Tests mailbox profile on a client PC, WhenChanged attributes time changed again from <6:59:04 AM> to <7:01:16 AM>
d. Now if I removes the profile and recreate it, PR_CREATION_TIME attribute changed again <7:28:54 AM>
Per my knowledge, theres no method which can accomplish the task in the exchange 2007
November 20th, 2008 1:09pm
Thanks for that confirmation, James. I'll stop searching.
Free Windows Admin Tool Kit Click here and download it now
November 20th, 2008 5:25pm
November 21st, 2008 4:19am
After spent more time on AD field, I found the method to accomplish the task by using AD tool
Repadmin /showmeta cn=test d,ou=ex team,dc=sg,dc=com > C:\dump.txt
Since we cannot know the create time from those attributes which specific shows time value, then I think that we need to based on the creation time of the attributes which must be added to user object when a mailbox is created, like Proxyaddress or Mail attributes
After run Repadmin, we can get all original creating time for the users attributes
I also tested it in the lab, Proxyaddress or Mail attributes all show the time <6:59:04 AM>
PS: I have to correct my mistake on my first post, to recreate mail profile will not change PR_CREATION_TIME attribute, I have not uncheck Cache Mode before using MFCMAPI, which causes the tool shows wrong value of the PR_CREATION_TIME attribute. If I used online mode, the PR_CREATION_TIME attribute will show <7:01:16 AM>, which is the time most near to the creating time of mailbox
Free Windows Admin Tool Kit Click here and download it now
November 21st, 2008 6:57am
This is really a nice workaround, James
Just an additional thought on PR_CREATION_TIME, this gets change when you move the mailbox because essentially move mailbox creates a new mailbox on destination database, copy all the data and delete old one.
So it's better idea to get creation time from mailbox attributes of AD...
November 21st, 2008 9:17am
Thanks for the further research and information, James and Amit. It's helpful information. We've decided to add a little bit to our powershell mailbox provisioning script to add the current date to the CustomAttribute1 for the user mailbox. We're also adding a 15 day "expiration date" to CustomAttribute2 that we'll be able to query on. This will help for new and future mailboxes but, obviously, not for the older ones. $creationdate = Get-Date$expirationdate = $creationdate.AddDays(15)Set-Mailbox -Identity $user -CustomAttribute1 $creationdate -CustomAttribute2 $expirationdate
Free Windows Admin Tool Kit Click here and download it now
November 21st, 2008 8:38pm
Supplement:
Yes, PR_CREATION_TIME attribute will change to new time after moving mailbox. We need to see 0x3FD60040 property under root container in the MFCMAPI, which is original value of PR_CREATION_TIME attribute
Explanation: 0x3FD60040 is the time when users login their mailboxes via OWA or outlook, which cause the mailbox being truly generated on the database<7:01:16 AM>. However, its not the time when exchange administrator creates users mailboxes on the EMS or EMC<6:59:04 AM>
You can use the Exchange: Query Mailbox Creation Timestamp section in this article to query the PR_CREATION_TIME attribute by script
November 24th, 2008 6:11am