I'm experimenting with automatic deployment / continuous integration and had a talk with my team lead.I told him I'm investigating creating build/deployment scripts in PowerShell and he said automatic deployment is very easy to set up in TFS using a GUI and I should research that instead. I have zero experience with TFS except for commiting to source control from VS.In which situations would TFS fail and would you be better off with PowerShell for automatic deployment?What other reasons and advantages are there to choose PowerShell instead of TFS?And another thing: Could I run a third party tool that, for example, minifies JS files from TFS?Some advantages of PowerShell I could think of:PowerShell offers maximum flexibilityYou can easily switch to another source control system such as MercurialThe scripts will be easier to maintain than what TFS generatesPowerShell is light weight: you can run the script on any PC
Why would you create a deployment script in PowerShell when you have TFS?
c#;continuous integration;automation;team foundation server
I think you hit the nail on the head with the advantages you listed.  Powershell gives you mobility and lets you move from source control to source control, but more importantantly lets you move from build server to build server, like Jetbrains' TeamCity.  Since the scripts are independent and can be run from the command line, you can fire them off from anywhere, including (like you said) your local machine.