[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

Powershell - get-mailboxstats

Posted on 2013-10-23
20
Medium Priority
?
1,164 Views
Last Modified: 2013-10-30
HI Experts,

I'm running powershell commands to pull out lastlogofftime from the mailbox stats, however when running the script:

get-mailbox -resultsize unlimited | get-mailboxstatistics | select DisplayName, LastLogoffTime, LastLoggedOnUserAccount | Export-Csv -Path D:\data\list_lastaccess4th.csv -NoTypeInformation

The output is as follows:
WEB Design             23/10/2013 13:11	DOM\WEBdes
JAMES Jameson        23/10/2013 13:12	DOM\BJC
Christine Bridie       13/09/2013 23:28	DOM\BMCR
Jimmy FLORA		                                DOM\bmf
Shane BENNETT		                        DOM\BSBABC
Laura Davies	        25/06/2012 09:45	DOM\bmb4
Jsaon Cook	        14/05/2013 13:50	DOM\mka
bookings		                                        DOM\RTP
Carmarth	                23/10/2013 12:45	DOM\Carms
YVONNE Jones         10/07/2012 17:35	DOM\mwy1

Open in new window


From the above, there are missing LastLogOffTimes... Although if I query the user manually. The times are there, see below output:

Get-MailboxStatistics bookings | fl

LastLoggedOnUsuerAccount : HQ\RTP
LastLogoffTime          : 23/10/2013 16:55:25
LastLogonTime           : 23/10/2013 16:54:24

Open in new window


Has anyone come across this before?
0
Comment
Question by:MarkMichael
  • 9
  • 8
  • 3
20 Comments
 
LVL 40

Expert Comment

by:Subsun
ID: 39594638
It's probably due to the pipeline bug in EMS.. Try..
$(Foreach ($mailbox in get-mailbox -resultsize unlimited){
$mailbox | get-mailboxstatistics | select DisplayName, LastLogoffTime, LastLoggedOnUserAccount
})| Export-Csv -Path D:\data\list_lastaccess4th.csv -NoTypeInformation

Open in new window

0
 
LVL 52

Expert Comment

by:Manpreet SIngh Khatra
ID: 39594681
Is the Attribute Name correct as its word sensitive and if it doesnt matches the correct word data wont be extracted

- Rancy
0
 
LVL 15

Author Comment

by:MarkMichael
ID: 39594706
Subsun: Same issue unfortunately?

Rancy: The property name is correct, as some of the data is being output for some user accounts but not others. Is that what you mean?
0
Nothing ever in the clear!

This technical paper will help you implement VMware’s VM encryption as well as implement Veeam encryption which together will achieve the nothing ever in the clear goal. If a bad guy steals VMs, backups or traffic they get nothing.

 
LVL 40

Expert Comment

by:Subsun
ID: 39594707
@Rancy, If the attribute name is incorrect then it won’t export the value for all the users. The issue is only for specific users..

@MarkMichael, in the report, is the user who miss the log off time is  different from previous report?
0
 
LVL 15

Author Comment

by:MarkMichael
ID: 39596666
Yes, it's different each time.

Sometimes it will return results for person A, B, C and not D.
Another time it will return results for person A, B, D and not C.
0
 
LVL 40

Expert Comment

by:Subsun
ID: 39597323
Try this..

$Result = @()
Foreach ($mailbox in get-mailbox -resultsize unlimited){
$Result += get-mailboxstatistics $mailbox.Alias | Select DisplayName,LastLogoffTime,LastLoggedOnUserAccount
}
$Result | Export-Csv -Path D:\data\list_lastaccess4th.csv -NoTypeInformation

Open in new window

0
 
LVL 40

Expert Comment

by:Subsun
ID: 39601309
Did you get a chance to check it?
0
 
LVL 15

Author Comment

by:MarkMichael
ID: 39603199
Sorry, will try in the morning,
0
 
LVL 15

Author Comment

by:MarkMichael
ID: 39603715
Still same issue unfortunately. Still missing random dates in the output.

Thanks for your help so far though.
0
 
LVL 52

Expert Comment

by:Manpreet SIngh Khatra
ID: 39603790
If you have some users not exporting data once check with permissions on those objects, also if you take that single user dump do you get those details ?

- Rancy
0
 
LVL 15

Author Comment

by:MarkMichael
ID: 39603819
Yep, if I just run get-mailboxstatistics mpoole, for example... the data is visible.

Same if I export it to csv, the data is visible in the csv file.
0
 
LVL 52

Expert Comment

by:Manpreet SIngh Khatra
ID: 39604053
can you try to take the data to text and once verify and then work with Excel

- Rancy
0
 
LVL 15

Author Comment

by:MarkMichael
ID: 39604512
verified:

"DisplayName","LastLogoffTime","LastLoggedOnUserAccount"
"Poole",,"DOMAIN\Poole"

Missing LastLogoffTime

I get the same, when I send the output to screen too, I can see several users missing the same fields, but they appear when I view them one by one.
0
 
LVL 40

Expert Comment

by:Subsun
ID: 39605493
Can you try to run the same script from a different server?
0
 
LVL 40

Expert Comment

by:Subsun
ID: 39605503
Also try...
Get-mailboxserver | get-mailboxstatistics | select DisplayName, LastLogoffTime, LastLoggedOnUserAccount | Export-Csv -Path D:\data\list_lastaccess4th.csv -NoTypeInformation

Open in new window

0
 
LVL 15

Author Comment

by:MarkMichael
ID: 39605533
Same with both tests, sorry.

Still the same outputs.

I even ran the script from an exchange server in another AD site, same issue.
0
 
LVL 40

Expert Comment

by:Subsun
ID: 39605556
Sorry.. I cannot reproduce your issue...  Even I have some accounts which miss LastLogoffTime but they also didn't output LastLogoffTime when I run get-mailboxstatistics directly for that account.

Which service pack level and RU you have?
0
 
LVL 15

Author Comment

by:MarkMichael
ID: 39606240
Still stuck on SP1 currently, customer is slow at approving updates!

On the other hand, I've just ran the same scripts on another customer Exchange server who has SP3 installed. Same issue!

There doesn't seem to be any pattern with the output though. Very very odd.
0
 
LVL 40

Accepted Solution

by:
Subsun earned 2000 total points
ID: 39611419
Hmm... Does this make any difference?
$Server = Get-mailboxserver
$Server | % {get-mailboxstatistics -Server $_.Name | select DisplayName, LastLogoffTime, LastLoggedOnUserAccount} | Export-Csv -Path D:\data\list_lastaccess4th.csv -NoTypeInformation

Open in new window

or
$Servers = Get-mailboxserver
$ReSult = @()
Foreach ($Server in $Servers){
$ReSult += Get-mailboxstatistics -Server $Server.Name | select DisplayName,LastLogoffTime,LastLoggedOnUserAccount
}
$ReSult | Export-Csv -Path D:\data\list_lastaccess4th.csv -NoTypeInformation

Open in new window

0
 
LVL 15

Author Comment

by:MarkMichael
ID: 39611458
1st one seems to work! Well done :)

Thanks for persisting through this with me!
0

Featured Post

Creating Active Directory Users from a Text File

If your organization has a need to mass-create AD user accounts, watch this video to see how its done without the need for scripting or other unnecessary complexities.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Stellar Exchange Toolkit: this 5 in 1 toolkit comes loaded with mega-software tool. Here’s an introduction to tools’ usage and advantages:
There can be many situations demanding the conversion of Outlook OST files to PST format and as such, there is no shortage of automated tools to perform this conversion. However, what makes Stellar OST to PST converter stand above the rest? Let us e…
In this Micro Video tutorial you will learn the basics about Database Availability Groups and How to configure one using a live Exchange Server Environment. The video tutorial explains the basics of the Exchange server Database Availability grou…
This video demonstrates how to sync Microsoft Exchange Public Folders with smartphones using CodeTwo Exchange Sync and Exchange ActiveSync. To learn more about CodeTwo Exchange Sync and download the free trial, go to: http://www.codetwo.com/excha…
Suggested Courses

831 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question