Exchange Room Statistics - PowerShell Auswertung mit EWS
Hallo zusammen,
Früher oder später kommt wohl mal jeder Exchange Administrator dazu, Auswertungen zu Exchange Room Mailboxen machen zu müssen.
Ich habe mich ein bisschen umgesehen und folgende zwei Varianten gefunden:
- http://stackoverflow.com/questions/10921563/extract-the-report-of-room-calendar-from-exchage-server-using-powershell-scripti
- https://gallery.technet.microsoft.com/office/Exchange-Meeting-Room-2aab769a
Beim ersten Script gefällt mir, dass “InPolicy” und “Out-Of-Policy” (die Bürozeiten des Raumes)berücksichtigt werden. Man muss allerdings Rechte auf dem Kalender oder Full Access auf den Räumen haben. Beim zweiten Script gefällt mir, dass da auch noch die Top Organizer und die Top Attandees aufgelistet sind. Ausserdem kann dort die EWS Impersonation genutzt werden.
Ich habe also aus den beiden Scripts ein neues gemacht.
Prerequisits:
- Exchange Online Powershell V2 (Module ExchangeOnlineManagement)
- EWS Managed API 2.2
- Account with Exchange Administrator Role
- EWS Account with Impersonation Permission
Im Script muss man die EWS Credentials eintragen
###############################################################################
#EWS Connection
###############################################################################
[string]$Mailbox = "ewservice@domain.tld"
[string]$Username = "ewservice@domain.tld"
[string]$Password = "YourSecurePassword"
[string]$EWSURL = "https://outlook.office365.com/EWS/Exchange.asmx"
```pwsh
Danach kann es folgendermassen aufgerufen werden
```pwsh
Get-RoomStatistics.ps1 -Startdate "01/01/2020" -EndDate "12/31/2020"
Wer nicht alle Räume auswerten will, kann untenstehende Zeile entsprechend abändern
###############################################################################
#Get Room Mailboxes
###############################################################################
$Mailboxes = Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails RoomMailbox
Zum Schluss wird ein CSV mit folgenden Spalten erzeugt:
- StartDate = Start Datum aus dem Script (Auswertungszeitraum)
- EndDate = End Datum aus dem Script (Auswertungszeitraum)
- RoomEmail = Emailadresse des Raumes
- DisplayName = Display Name des Raumes
- Meetings = Anzahl der Meetings innerhalb vom Auswertungszeitraum
- RecurringMeetings = Anzahl der wiederkehrenden Meetings (Ist ein Meeting jeden Monat so werden hier 12 Meetings angezeigt)
- inPolicy = Anzahl der Stunden innerhalb der Bürozeiten des Raumes
- Out-Of-Policy = Anzahl der Stunden ausserhalb der Bürozeiten des Raumes
- TotalDuration = Total belegte Stunden
- BookableTime = Total mögliche Stunden (Bürozeiten des Raumes)
- BookedPercentage = Prozentsatz der Buchung (BookableTime/100*TotalDuration)
- TopOrganizers = Die häufigsten Besprechungsorganisatoren
- TopAttandees = Die häufigsten Teilnehmer
Das ganze Script könnt ihr euch auf meinem GitHub Repository ansehen: https://github.com/BohrenAn/ExchangeRoomStatistics
Grüsse
Andres Bohren


