After you deploy a Virtual Machine you typically need to make some changes before it’s ready to use. This is something you can do manually or you could use Remote PowerShell to automate the configuration of your VM after deployment for example. But now there’s a third alternative available allowing you customize your VM: the CustomScript extension. This CustomScript extension is executed by the VM Agent (which was announced a few weeks ago by Scott Guthrie) and it’s very straightforward: you specify which files it needs to download from your storage account and which file it needs to execute. You can even specify arguments that need to be passed to the script. The only requirement is that you execute a .ps1 file.