Vagrant 1.6 will add a monumental feature to Vagrant: full Windows guest support. The ability of Vagrant to manage Windows environments just as easy as Linux environments has been requested for years and the time for complete, official support has come.
Please don't mistake guest support for running Vagrant on Windows. Vagrant has fully supported running on Windows for years, and works great. Vagrant 1.6 adds support for Vagrant to run Windows within the Vagrant environments (in VirtualBox, Hyper-V, EC2, etc.).
The Windows guest support coming in Vagrant 1.6 allows you to spin up Windows environments just as easily as you would Linux environments, and lets you use PowerShell scripts, Chef, Puppet, etc. to install and configure software.
And just as Linux has
vagrant ssh as a first-class citizen, Windows
vagrant rdp, which allow single-command access
to a complete remote desktop environment to your Windows environment.
Read on to learn more.
Seeing is believing, so we've prepared a couple videos below showing how easy it is to use Vagrant with Windows guests.
config.vm.communicator = "winrm" end
That is the only change that is necessary for Vagrant to use Windows! Vagrant will automatically detect that the operating system in its environment is Windows, and will adapt accordingly.
Provisioners such as shell scripts, Chef, and Puppet are fully supported and will run within Windows Vagrant environments. The shell provisioner will run PowerShell and batch scripts if it is being used over WinRM.
Accessing a Windows machine is unlike accessing a Linux machine. The primary method for performing administrative tasks on Windows is via Remote Desktop.
For Linux, Vagrant provides
vagrant ssh for one-command access to
the machine. We wanted to make accessing a Windows machine just as easy,
so we've created the
vagrant rdp command. This command opens an RDP
client pre-configured to communicate to the Vagrant environment.
If SSH is available,
vagrant ssh will still work for Windows.
To open a PowerShell or command prompt, use
vagrant rdp to open the
remote desktop client, then open the appropriate console. This is the
conventional way to work with remote Windows machines.
Early in the Vagrant 1.6 development process, Shawn Neal