I had a request from a user to find out the meeting room utilization across our head office, but unfortunately I couldn’t find an easy way to do this with Exchange 2010 cmdlets. Here are some instructions to do so with COM objects, PowerShell and Excel.

First create a mailbox that will have the meeting room rights assigned to it, then grant the user access to the required mailboxes so that they show in Outlook:

Get-Mailbox meetingroomprefix* | Add-MailboxPermission -AccessRights FullAccess -User temporarymailbox

Open Outlook and add the meeting room mailboxes, then run the PowerShell script below with the appropriate date range. Mine shows the last financial year.

Next, open the CSV output file in Excel then:

  1. Create new sheet called Report
  2. Insert a pivot table containing all the data from the raw data sheet
  3. Drag “MeetingRoom” to Rows
  4. Drag “Duration” to Values. Edit the field settings to be “Count” and rename to “Number of Meetings”
  5. Drag “Duration” to Values. Edit the field settings to be “Sum” and rename to “Total Duration”
  6. Create two new fields – one with the amount of work weeks per year (48.775 for mine) and the amount of hours per week (40 for mine).
  7. Create a new table for utilization percentages. Put the formula as =C5/($E$5*$E$9*60).
meetingroom.png

Comment and share

Get-MailboxSizes

This script produces a simple report to get the mailbox, archive and total sizes in a mailbox database. This helps with estimating space needed for mailbox moves.

To use, just load it up then use Get-MailboxSizes -Database DBName.

Comment and share

I’m not too sure why this isn’t exposed through the Exchange cmdlets, but here we go.

Run with Get-DatabaseSize -Database DatabaseName and it will return the database name, server, and database size in megabytes.

EDIT: well, it turns out you can just use Get-MailboxDatabase -Database DatabaseName -Status | select name,server,databasesize. Rookie error on my part.

Comment and share

I am looking at enabling certain features of mailing lists depending on how many users there are. The following script generates this report with group recursion.

By default it outputs to grouplisting.csv in the same folder you run the script from.

Comment and share

In our Exchange 2013 environment we have a few users who have tasks that can occur once every 5-10 years. Unfortunately this doesn’t sit well with our retention policies and they get moved down to the archive mailbox. To disable them from getting archived, create a DWORD Value in HKLM\SYSTEM\CurrentControlSet\Services\MSExchangeMailboxAssistants\Parameters called ELCAssistantCalendarTaskRetentionEnabled and make sure it is set to 0.

Restart the MSExchangeMailboxAssistants service after making this change.

Comment and share

I’ve been busily rolling out Exchange 2013 SP1 at work and I’ve finally gotten to the stage where I can start migrating mailboxes over. Lo and behold, the fourth mailbox moved over had a strange issue whilst trying to access OWA:

1
2
3
4
5
6
7
8
9
something went wrong
Sorry, we can't get that information right now. Please try again later. If the problem persists, contact your helpdesk.
X-OWA-Error: Microsoft.Exchange.Security.Authentication.TokenMungingException
X-OWA-Version: 15.0.847.32
X-FEServer: MAIL2013-1
X-BEServer: Mail2013-2
Date: 28/04/2014 11:35:42 AM

It turns out that some users had a “LinkedMasterAccount” attribute set to “NT AUTHORITY\SELF” that didn’t need to be. The script to check all users with this attribute set:

1
Get-User -ResultSize unlimited | where {$_.linkedmasteraccount -eq "NT AUTHORITY\SELF" -and $_.recipienttypedetails -ne "RoomMailbox" -and $_.recipienttypedetails -ne "Equipmentmailbox" -and $_.recipienttypedetails -ne "DiscoveryMailbox"} | select name | ft

This will spit out all accounts that aren’t room, equipment or discovery mailboxes with the LinkedMasterAccount set to “NT AUTHORITY\SELF”. From there, you can change it to $null with:

1
Set-User -Identity <user> -LinkedMasterAccount $null

After setting this the user was able to log in.

Comment and share

  • page 1 of 1

Jacob Ludriks

author.bio


author.job