I messed up Teams so you don’t have to!

For the last two months I’ve had a weird error on my Copilot+ PC. When ever I try to join a Teams-meeting, nothing happens. It just kills the process. I’ve spend a few minutes here and there trying to figure out what the problem was, but never really found anything (troubleshooting is not my favorite topic). Since it only affected my ARM-based device and none of the X86-based devices nor my Cloud PC, I could still work.

But then I enrolled a second ARM-based device, and it got the same problem. So I decided to actually put some time into it.

Where did I start?

Initially I was really convinced that “okay Defender is blocking this” since I found that Defender flagged some Teams meeting links as malicious. But turns out, it didn’t actually block it. How did I come to this conclusion?

Well, Teams worked as intended if the PC was unmanaged, leading me to think that “yes its Defender for Endpoint” until I enrolled the device again and excluded ALL policies and never onboarded it to Defender for Endpoint.

And guess what? Still same issue… Teams would start meetings and webcam and microphone was grayed out.

So what next?

Teams logs

This is probably where any sane person would start, but I didn’t.

After exporting the Teams logs and getting some help from ChatGPT, I found that Teams is trying to load a component called VDIBridge, but it fails. And it was not just once. This lead me to research that a bit, and it turns out that this is a server-side channel module, which among other things redirects media to the local endpoint. The VDIBridge is bundled with the VDI version on Teams.

Okay, so Teams on my ARM based Windows PC thinks it’s a virtual device. That is VERY strange!

I compared it to X86 device which had all the policies from my tenant, but with Teams that works, and found that it does not have this error.

So for some reason, on my ARM device, Teams is convinced it’s a VDI and not a physical PC.

Trying workarounds

This lead me into researching why my ARM device would identify as a VDI in Teams eyes.

The internet told me that “there might be variables added by Intune” and “delete the ¨’IsWVDEnvironment’ if it’s set to 1 registry key”.

But I didn’t have any variables in my Intune environment which got added not did I have that registry key, and I even tried creating it and setting it to 0. But it didn’t help.

How ever. I found one thing that planted a thought in my head, that if you have some Citrix registry keys or applications installed on the device, this COULD happen on ARM based devices. But I don’t have any Citrix software deployed to my machines.

But I do have Microsoft software assigned to my devices…

Looking through what apps are being pushed from Intune

Since unmanaged devices didn’t have this issue, but managed had, I decided to have a look at what applications I install on all my devices.

I had the usual stuff, Microsoft 365 Apps for Enterprise, Teams, Spotify, the Windows app. And then I found two weird ones:

  • Remote Desktop Multimedia Redirection Service
  • Remote Desktop Services Infrastructure Agent

These are two applications that are used within virtual environments, and especially the first one, Remote Desktop Multimedia Redirection Service, is telling the VDI to redirect things like Teams meeting audio/video to the local device. The other one is used to communicate with the Remote Desktop Service from the session host.

These are two applications you install on virtual machines, not on physical machine.

Turns out, I for some reason had assigned it to all my Windows based devices, not only Cloud PCs.

What now?

So first action, remove these from the assignment from my physical devices in Intune and make sure we uninstall it from all the physical machines.

In order to make sure this was actually what caused it, I manually uninstalled both of the applications from my ARM device and then I re-installed Teams.

And Teams worked.

Leason learned

So what did we learn from this?

Well don’t assign applications built for virtual clients to redirect things on physical machines.

For some reason, it works without any issues on X86 machines, hence me not realizing initially that there was an issue. On ARM devices, it all of a sudden tells Teams that “hey, I’m a VDI! Let’s try to redirect the media onto the local device” and fails.

This also means that if you are deploying applications meant for VDIs, make sure not to deploy them to your physical machines. Use filters or dedicated groups and don’t do like I had apparently done. Deploy it to all devices.

And this is again why I hate computers!

Comments

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.