Modifying powershell script to calculate the white space on Exchange Server 2010 using the script for Exchange Server 2007 ?


I need your help and suggestion in modifying the below Powershell script so that it can be used against Exchange Server 2010:

function Get-ExchangeWhiteSpace {
        $ComputerName = $(throw "ComputerName cannot be empty.")

      # Convert Dates to WMI CIM dates
            $tc = [System.Management.ManagementDateTimeconverter]
            $Start = $tc::ToDmtfDateTime( (Get-Date).AddDays(-10).Date )
            $End = $tc::ToDmtfDateTime( (Get-Date).Date)

      # Create two calculated properties for InsertionStrings values
            $DB = @{Name="DB";Expression={$_.InsertionStrings[1]}}
            $FreeMB = @{Name="FreeMB";Expression={[int]$_.InsertionStrings[0]}}

      Get-WMIObject Win32_NTLogEvent -ComputerName $ComputerName -Filter "LogFile='Application' AND EventCode=1221 AND TimeWritten>='$Start' AND TimeWritten<='$End'" |
        Select-Object ComputerName,$DB,$FreeMB, @{Name="TimeWritten"; Expression = {$_.ConvertToDateTime($_.TimeWritten )}} |
              Group-Object ComputerName, DB |
              % { $_.Group | Sort-Object TimeWritten -Descending | select -first 1 } | Sort-Object FreeMB -Descending

Get-ExchangeWhiteSpace -ComputerName PRODMAILBOX02-VM | ft -AutoSize

The above script works with no issues in Exchange Server 2007 but not in 2010.

Senior IT System EngineerIT ProfessionalAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Rajitha ChimmaniCommented:
With Exchange 2010 whitespace is not calculated using any events. Its extracted from a command itself..just a single command.

Get-MailboxServer servername | Get-MailboxDatabase | ft Name,AvailableNewMailboxSpace
Senior IT System EngineerIT ProfessionalAuthor Commented:
Thanks Rajitha,

I'm not sure what happened to my Exchange Server 2010, but somehow by executing the Full List option as per below:

Get-MailboxServer | Get-MailboxDatabase | fl

Open in new window

The following attributes value is empty:

DatabaseSize                                 : 
AvailableNewMailboxSpace                     : 

Open in new window


exchange 2010 sp1 it self bug while checking AvailableNewMailboxSpace on more database through EMS power shell,
Need to upgrade with rollup 6 or SP2

MSSPs - Are you paying too much?

WEBINAR: Managed security service providers often deploy & manage products from a variety of solution vendors. But is this really the best approach when it comes to saving time AND money? Join us on Aug. 15th to learn how you can improve your total cost of ownership today!

Senior IT System EngineerIT ProfessionalAuthor Commented:
my exchange server version is below:

Exchange Server 2010 Version: 14.02.0387.000 (Build 247.5)

is that affected ?
Gareth GudgerCommented:
Hey ITSystemEngineer,

You are on SP2. And I just confirmed this works on SP1 as well in my lab.

Try the following command. Its missing the -Status switch.

Get-MailboxServer servername | Get-MailboxDatabase -Status | ft Name,AvailableNewMailboxSpace

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Senior IT System EngineerIT ProfessionalAuthor Commented:
Thanks !
I didn't know if the new Exchange Server 2010 requires the Server name or additional parameter "-Status" to populate the attributes.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.