Solved

Vbscript: List Exchange user Mailboxs in a cluster

Posted on 2009-07-15
4
596 Views
Last Modified: 2012-08-13
I need a Vbscript which can list the mailbox information in a cluster environment. I need the following information saved to .csv file.

ServerName ,StorageGroupName,StoreName ,OU path, MailboxDisplayName,Size,TotalItems, LastLogonTime, LastLogoffTime.

Thank You
0
Comment
Question by:raju1706
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
4 Comments
 
LVL 6

Accepted Solution

by:
ou_dober earned 500 total points
ID: 24861234
raju1706,

Here is a link to a script that does just that.

http://briandesmond.com/blog/script-to-dump-exchange-mailbox-info-to-spreadsheet-csv/

I added the code for quickness.  Hope this helps.

ou_dober

'==========================================================================
Option Explicit
 
' Note this script currently uses On Error Resume Next
' this isn't best practice - in reality this should be tightly 
' wrapped around the WMI connection logic in the loop rather
' than up here.
On Error Resume Next
 
' TODO: Configure this
' This is the total number of servers which you
' will specify for inventory
Const TOTAL_SERVERS = 3
 
Dim strComputer()
ReDim strComputer(TOTAL_SERVERS)
 
' TODO: Populate this array
' Enter each server name below as an entry in the array
' starting with zero
strComputer(0) = "xmb01"
strComputer(1) = "xmb02"
strComputer(2) = "xmb03"
 
'==========================================================================
 
Dim objWMIService
Dim colItems
 
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
 
Dim fil
Set fil = fso.CreateTextFile("mailboxes.txt")
 
Dim objItem
Dim line
Dim i
 
' Write a header row to the CSV
fil.WriteLine """Server"",""Storage Group"",""Mail Store"",""Mailbox GUID"",""Display Name"",""LegacyDN"",""Size"",""Item Count"",""Associated Content Count"",""Deleted Message Size"",""Date Absent"",""Storage Limit Level"""
 
For i = 0 To TOTAL_SERVERS - 1
	Set objWMIService = GetObject("winmgmts:" _
	    & "{impersonationLevel=impersonate}!\\" & strComputer(i) & _
	        "\ROOT\MicrosoftExchangeV2")
	
	Set colItems = objWMIService.ExecQuery _
	    ("Select * from Exchange_Mailbox")
	
	For Each objItem in colItems
		line = """" & objItem.ServerName & """"
		line = line & ","
		line = line & """" & objItem.StorageGroupName & """"
		line = line & ","
		line = line & """" & objItem.StoreName & """"
		line = line & ","
		line = line & """" & objItem.MailboxGUID & """"
		line = line & ","
		line = line & """" & objItem.MailboxDisplayName & """"    
		line = line & ","
		line = line & """" & objItem.LegacyDN & """"
		line = line & ","
		line = line & """" & objItem.Size & """"
		line = line & ","
		line = line & """" & objItem.TotalItems & """"
		line = line & ","
	    line = line & """" & objItem.AssocContentCount & """"
	    line = line & ","
	    line = line & """" & objItem.DeletedMessageSizeExtended & """"
	    line = line & ","
	    line = line & """" & objItem.DateDiscoveredAbsentInDS & """"
	    line = line & ","
	    line = line & """" & objItem.StorageLimitInfo & """"
	    
	    fil.WriteLine line 
	    'WScript.Echo line 
	Next
Next
 
fil.Close
Set fso = Nothing
Set objWMIService = Nothing

Open in new window

0
 
LVL 1

Author Comment

by:raju1706
ID: 24862172
Thank You ou.  Can you also help me with the full OU path of the mailbox ?
0
 
LVL 6

Expert Comment

by:ou_dober
ID: 24863263
I dont believe you need one with the objWMIServer is calling out the "\ROOT\MicrosoftExchangeV2".  Where do you see the need for the OU full path declaration?
0
 
LVL 1

Author Closing Comment

by:raju1706
ID: 31603707
Thank You ou_dober appreciate it.
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Welcome back!  My apologies for taking so long to write part two of this series; it's been a long time coming!  As I promised in Part 1, this article will focus on how to locate those elusive AD properties that you are searching for.  Why is this us…
Not long ago I saw a question in the VB Script forum that I thought would not take much time. You can read that question (Question ID  (http://www.experts-exchange.com/Programming/Languages/Visual_Basic/VB_Script/Q_28455246.html)28455246) Here (http…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…
Are you ready to implement Active Directory best practices without reading 300+ pages? You're in luck. In this webinar hosted by Skyport Systems, you gain insight into Microsoft's latest comprehensive guide, with tips on the best and easiest way…

732 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