Forum Discussion
Microsoft Teams Presence Report
[New Blog Post]
In this article I describe my #PowerShell script, which I have made available for you on #GitHub.
This script is used to retroactively display the #MSTeams presence status as an HTML report per user.
https://www.msb365.blog/?p=5816
#M365 #MVPbuzz
4 Replies
- koenigSSIG-ITCopper Contributor
Drago's script is a great starting point for historical HTML reports – worth noting for anyone landing here:
- The Get-Random line PD223345 spotted is because Microsoft Graph doesn't return historical presence (no public endpoint). The script extrapolates – fine for demos, not for compliance reporting.
- If you need live company-wide presence on a TV / lobby screen rather than a daily HTML report, Drago's tool isn't built for that – it's a different problem (real-time multi-user dashboard with refresh and kiosk mode).
For the live-dashboard variant, the closest hosted option I know is TeamsDashboard (teamsdashboard.com): batch-polls Graph presence every 15s for all users, filterable by department/location, exposed via a session-token URL so a kiosk TV can show it without anyone signing in. €4.25/user/month, 14-day trial, EU-hosted/GDPR.
Different tools for different parts of the same gap – Drago's for "what happened yesterday," TeamsDashboard for "what's happening right now on the wall display."
- PD223345Copper Contributor
Great work ! Exactly what I was looking for, but it seems to be generating random data: $hours = Get-Random -Minimum 0 -Maximum ($remainingHours + 1)
Also what is maximum historical data we can go back ? Tried to find the information on internet but nothing came back that clearly states/provides the information.
Thank you
- RobEllis_M365ChapBrass Contributor
Looks useful - but I cannot make it work - I get an error as per the Issue I raised on the Github - https://github.com/MSB365/Teams_PresenceReport/issues/1
Any thoughts on what the fix is?
Thank you for the reminder, I have updated the Script.