Honestly, I don't really believe in large scale migrations of existing Windows infrastructure to Linux. Large migrations are hard to do at the best of times, always cause a lot of resistance and frustration, and take a long time before they start paying off, if that even happens at all.
I agree 100% with you, large scale migration from Window to Linux are almost impossible. I'm a Linux users since a long time and I'm really happy with it but I'm working in a big international firm and a migration to Linux would be simply impossible. The main reason is that we depends on hundreds of different applications that only works on Windows and was developed with Windows in mind. Some of this application are also of critical importance so you cannot think to replace them without incurring in a huge disaster, the office applications are much more critical in this respect.
Another good reason is that the IT staff only know about windows so to switch to Linux would require to retrain all of them. I'm also sure that many of them will hate Linux for emotional reasons and it will be very difficult to make the transition.
... so your users will simply not be able to do things the way they were used to doing them. This is where you hit your biggest resistance: they will have to re-learn things, which will take time, effort and money. People will get upset, they will hate the new system, and they will complain about it, loudly, and to anyone who will listen. And for good reason: they had a work flow that worked, and then management came and pulled the rug from under them and they had to re-learn things for no good reason.
Again, 100% agree. I've seen that at university, I've tried to convince people to use emacs and I was very surprised of the resistance: they have learnt a basic workflow with windows program and to learn something slightly different was considered highly annoying.
For the other side I would like to add a remarks about Windows. They have been successful to tie almost all enterprise to their specific software stack and they have made the transition to anything else virtually impossible. They have never promoted or adopted standard protocols but they have always created their own specific protocol which is not interoperable with other operating systems. So they have Winsockets that are similar but not quite the same of POSIX sockets, WinThreads that are similar but not quite the same of posix threads and so on.
I Invite you also to note that if we have internet that is based on universal standard protocols like TCP/IP, HTTP and we can use it with any OS, all of this was against what Microsoft was willing to do. They was trying to create their own Window Network with specific protocols and compatible only with windows.
Because of all these reasons all the people that like computer science should avoid MS products. But there is also an economic reason to avoid MS products, they force the enterprise to adopt their non-standard software stack and they are forced to pay all a MS tax, they have no choice.