Businesses don't use Windows just to use Windows. Businesses use Windows to use Office, Active Directory, and Exchange. Linux has competitors to all three but they're not even CLOSE, no matter how much the evangelists puff them up.
What do you get when you put a whole office on Linux? You get a bunch of people sitting around using Linux. But they're not doing anything productive. Nobody's paying them to use Linux. No customers are giving your company money to have an office full of people sit around and "use Linux". Linux is not the product, Linux is the platform. Right now, the Linux platform for enterprise is severely lacking in comparison to Windows. The "Why" is dreadfully simple: there are no serious products that give the platform value.
Focus community effort on building solid competitors to Office, Active Directory, and Exchange. Maybe try creating something completely new, or maybe just try to mimic the MS products as best you can. Mimic might be better, because then you can show them how similar your products are so the switching cost is minimal, yet one costs a whole lot less, therefore the TCO is much lower.
In case you haven't noticed, Microsoft likes to throw around TCO as their metric. That's because most businesses don't care about up-front cost, they focus on what you'll pay over the life of the product. Put the most amount of effort possible into minimizing the switching costs. Linux will become a much more viable desktop platform in the enterprise when you can demonstrate meaningful cost savings that take TCO into account. Until then, Microsoft will continue to give enterprise customers concrete and logical reasons for why they should choose their product over all others.