Skip to content
A build automation tool... now with less XML...
PowerShell Batchfile
Latest commit 2857ead May 7, 2016 @gep13 gep13 Merge pull request #176 from marking/master
updates TeamCity documentation regarding build parameters
Failed to load latest commit information.
docs updates TeamCity documentation regarding build parameters May 6, 2016
en-US Added help for Get-PSakeScriptTasks and now export this function from… Mar 20, 2016
examples Adding an example for a parallel task Jan 30, 2016
images Moved psake-ps2 changes from master to psake-ps2 branch. Oct 3, 2009
nuget (choco) Removing unnecessary call to write success/failure Jan 15, 2016
specs #153 Added new Get-ScriptTasks function to the psake module. Mar 20, 2016
tabexpansion Ensure TabExpansion function exists before rename. Jan 11, 2013
.gitattributes Added repo setting to disable CRLF conversion (c.f. core.autocrlf) Oct 3, 2009
.gitignore Added Thumbs.db to gitignore Feb 26, 2013
NuGet.exe Update Nov 16, 2013
NuGetPackageBuilder.ps1 Version bump, nugetpackagebuilder.ps1 reads version from manifest Mar 5, 2016
README.markdown Update README.markdown Apr 1, 2016
license.txt Update licence year and copyrights Dec 2, 2013
mkdocs.yml (GH-155) Added all other doc files Mar 3, 2016
psake-buildTester.ps1 Adding ability to use a scriptblock when initializing an invoke-psake… May 7, 2012
psake-config.ps1 Defaulted psake to .NET 4.0 Mar 20, 2012
psake.cmd Added some comments to psake.ps1 and psake.cmd Jan 8, 2014
psake.ps1 Merge pull request #121 from InPermutation/master Nov 16, 2014
psake.psd1 Change Icon to match what was chosen for VSTS Task Mar 20, 2016
psake.psm1 Added help for Get-PSakeScriptTasks and now export this function from… Mar 20, 2016


Welcome to the psake project.

Join the chat at

psake is a build automation tool written in PowerShell. It avoids the angle-bracket tax associated with executable XML by leveraging the PowerShell syntax in your build scripts. psake has a syntax inspired by rake (aka make in Ruby) and bake (aka make in Boo), but is easier to script because it leverages your existing command-line knowledge.

psake is pronounced sake – as in Japanese rice wine. It does NOT rhyme with make, bake, or rake.

How to get started:

Step 1: Download and extract the project

You will need to "unblock" the zip file before extracting - PowerShell by default does not run files downloaded from the internet. Just right-click the zip and click on "properties" and click on the "unblock" button.

Step 2: CD into the directory where you extracted the project (where the psake.psm1 file is)

Import-Module .\psake.psm1

If you encounter the following error "Import-Module : ...psake.psm1 cannot be loaded because the execution of scripts is disabled on this system." Please see "get-help about_signing" for more details.

  1. Run PowerShell as administrator
  2. Set-ExecutionPolicy RemoteSigned

Get-Help Invoke-psake -Full

  • this will show you help and examples of how to use psake

Step 3: Run some examples

CD .\examples


  • This will execute the "default" task in the "default.ps1"

Invoke-psake .\default.ps1 Clean

  • will execute the single task in the default.ps1 script

Release Notes

You can find all the information about each release of psake in the releases section.

How To Contribute, Collaborate, Communicate

If you'd like to get involved with psake, we have discussion groups over at google: psake-dev psake-users

Anyone can fork the main repository and submit patches, as well. And lastly, the wiki and issues list are also open for additions, edits, and discussion.

Also check out the psake-contrib project for scripts, modules and functions to help you with a build.


psake is released under the MIT license.

Something went wrong with that request. Please try again.