SOLVED

Resource Mailbox Usage Reporting

%3CLINGO-SUB%20id%3D%22lingo-sub-1219850%22%20slang%3D%22en-US%22%3EResource%20Mailbox%20Usage%20Reporting%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1219850%22%20slang%3D%22en-US%22%3E%3CP%3EIs%20there%20a%20way%20to%20report%20on%20usage%20of%20a%20resource%20mailbox%3F%26nbsp%3B%20For%20example%2C%20we%20have%20a%20room%20and%20want%20to%20know%20how%20often%20it's%20scheduled%20for%20how%20many%20people%2C%20etc.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1219850%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EExchange%20Online%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EExchange%20Server%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EHybrid%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EOutlook%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1219868%22%20slang%3D%22en-US%22%3ERe%3A%20Resource%20Mailbox%20Usage%20Reporting%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1219868%22%20slang%3D%22en-US%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F21963%22%20target%3D%22_blank%22%3E%40Tony%20Derricott%3C%2FA%3E%2C%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EHave%20a%20look%20at%20%3CA%20href%3D%22https%3A%2F%2Fgallery.technet.microsoft.com%2Fscriptcenter%2FExchange-Online-Meeting-4894b38f%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ethis%20script%3C%2FA%3E.%20I%20think%20it%20will%20give%20you%20what%20you%20need.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ERegards%2C%3C%2FP%3E%3CP%3ENuno%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1220727%22%20slang%3D%22en-US%22%3ERe%3A%20Resource%20Mailbox%20Usage%20Reporting%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1220727%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F7966%22%20target%3D%22_blank%22%3E%40Nuno%20Mota%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI'm%20getting%20all%20the%20way%20to%20the%20point%20where%20I%20get%20the%20following%20error%3A%3C%2FP%3E%3CP%3EUnable%20to%20query%20Graph%20API%3A%20'The%20remote%20server%20returned%20an%20error%3A%20(401)%20Unauthorized.'%3C%2FP%3E%3CP%3EHave%20tried%20with%20my%20own%20Global%20Admin%20and%20with%20admin%40tenant.onmicrosoft.com.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1221874%22%20slang%3D%22en-US%22%3ERe%3A%20Resource%20Mailbox%20Usage%20Reporting%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1221874%22%20slang%3D%22en-US%22%3E%3CP%3EYou%20don't%20need%20any%20special%20account%20in%20Office%20365%2FAzure%20in%20order%20to%20run%20the%20script%20(actually%2C%20just%20run%20it%20with%20your%20normal%2Flocal%20account!).%20What%20you%20need%20to%20do%20is%20go%20to%20the%20Azure%20management%20portal%20(portal.azure.com)%2C%20then%20go%20to%20%22App%20registrations%22%2C%20and%20click%20on%20%22New%20registration%22.%20From%20there%2C%20give%20it%20a%20name%2C%20create%20a%20secret%2C%20and%20in%20%22API%20permissions%22%20give%20it%20the%20permissions%20I%20mention%20in%20the%20script%20for%20%22Microsoft%20Graph%22.%3C%2FP%3E%3CP%3EThen%2C%20you%20use%20the%20details%20from%20the%20app%20registration%20to%20update%20the%20%24ClientID%2C%20%24ClientSecret%2C%20and%20%24TenantID%20properties%20in%20the%20script.%20This%20is%20what%20the%20script%20uses%20to%20authenticate%20against%20Graph%20API%20and%20retrieve%20all%20the%20information%20from%20meeting%20rooms.%3C%2FP%3E%3C%2FLINGO-BODY%3E
Frequent Contributor

Is there a way to report on usage of a resource mailbox?  For example, we have a room and want to know how often it's scheduled for how many people, etc.

3 Replies
best response confirmed by Tony Derricott (Frequent Contributor)
Solution

Hi @Tony Derricott,

 

Have a look at this script. I think it will give you what you need.

 

Regards,

Nuno

@Nuno Mota 

I'm getting all the way to the point where I get the following error:

Unable to query Graph API: 'The remote server returned an error: (401) Unauthorized.'

Have tried with my own Global Admin and with admin@tenant.onmicrosoft.com.

You don't need any special account in Office 365/Azure in order to run the script (actually, just run it with your normal/local account!). What you need to do is go to the Azure management portal (portal.azure.com), then go to "App registrations", and click on "New registration". From there, give it a name, create a secret, and in "API permissions" give it the permissions I mention in the script for "Microsoft Graph".

Then, you use the details from the app registration to update the $ClientID, $ClientSecret, and $TenantID properties in the script. This is what the script uses to authenticate against Graph API and retrieve all the information from meeting rooms.