For automated building/deploying .NET projects on Windows you have very little choice. Powershell has its own libraries to invoke MSBuild and it's integration with .NET saves a ton of effort on more complex tasks (like parallelization, background jobs, and service management). Is it irreplaceable? Maybe not, but it's clearly the most powerful tool for the job.