Building Windows Server with Puppet and Chocolatey

Share on:

Forget using scripts and group policies to configure a new Windows Server machine. Using Chocolatey and Puppet, you can do it faster & easier than ever (and it’s more fun too). This is especially true if you’re using a Server Core installation and don’t have a GUI to help you along. Oh, and if you don’t know Puppet, you really should watch my course Puppet Fundamentals for System Administrators on Pluralsight 🙂

1$ New-NetIPAddress InterfaceAlias "Ethernet" IPAddress "192.168.51.29" PrefixLength 24 -DefaultGateway 192.168.51.8
2
3$ Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses 192.168.50.20, 192.168.50.21
powershell
1$ set-executionpolicy unrestricted<br />
2$ iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))
powershell

1$ choco install vmware-tools
powershell
The server will automatically restart.

1$ rename-computer -newname newservername
powershell

1restart-computer
powershell
Join to domain
1add-computer -domain benpiper.com
powershell
Reboot again
1restart-computer
powershell
Install Puppet
1choco install puppet
powershell
Configure Puppet
1Configure c:\programdata\puppetlabs\puppet\etc\puppet.conf
powershell
Generate puppet certificate
1puppet_interactive
powershell
Sign puppet certificate on puppet master
1puppet cert sign newservername
powershell
Apply appropriate profiles to server. Remember to restart the Puppet master if you change your Hiera configuration.

Run Puppet agent

1puppet_interactive
powershell
Verify
1puppet resource dism
2puppet resource package
powershell