I would like to create entries for the company's Wifi in every Mac via Puppet. Is this possible? (or if it is possible from the command line, I can figure out how to do it in Puppet)
You can also use profiles via CLI. This is totally unattended and if your profile requires any user input it will fail to install.
I've successfully deployed WiFi networks via Puppet using this method.
The command to install a profile is:
sudo profiles -I -F /path/to/profile.mobileconfig
Running as sudo/root will install the profile as a Device Profile and affects all users while installing as the current user will just install it as a User profile thus just affecting the User which ran the command.
From the CLI, one can use a command such as:
$ sudo networksetup -addpreferredwirelessnetworkatindex en1 <ssid> 0 WPA2 <passphrase>
0 specifies the "index" where the entry will show up in the wifi networks list, with
0 being top of the list.
I have not been able to get this working in a completely hands-free way, though. Even when running via sudo, OSX Mavericks still throws a single modal dialogue box asking the user to approve adding the entry to their keychain.