When my server is complete - I'll need to deploy the VMware Horizon client as an application.
This doesn't have an installer with choices as AnyConnect does. It requires a server FQDN to be added in order to connect to the virtual desktop.
Here is my process:
- Download and put the VMware Horizon Client.app into Applications
- Package the .app file into a .pkg file using Composer
- Put into Jamf using Jamf Admin
- Create a policy to install the .pkg and make it available in Self Service
The pre-populating of the server address is handled by a configuration profile.
Preference Domain: com.vmware.horizon
defaultBroker = https://MYVIEWSERVER:443/broker/xml
promptedUSBPrintingServicesInstall = true
kAutoDownloadForUpdates = false
broker-history = https://MYVIEWSERVER:443/broker/xml
trustedServers = https://MYVIEWSERVER:443/broker/xml
kAutoCheckForUpdates = false
There are more settings available, but that is what I use and it works for what I need.
Ya that totally works. You could make a smart group that can check if that Application is installed.
Then create a policy that targets those machines and runs once, or maybe have it run once every day. That way if any computers ever don't show having the app, it will automatically be installed for them.
The Self Service thing is just what I do cause not every Mac user here needs it.
I'm talking about building a .plist file with the settings you want, then uploading it to the JSS as a Configuration Profile. This is separate from a standard policy.
Here is an example plist:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>broker-history</key> <array> <string>https://HORIZONSERVER:443/broker/xml</string> </array> <key>defaultBroker</key> <string>https://HORIZONSERVER:443/broker/xml</string> <key>promptedUSBPrintingServicesInstall</key> <true/> <key>trustedServers</key> <array> <string>https://HORIZONSERVER:443/broker/xml</string> </array> <key>kAutoCheckForUpdates</key> <false/> <key>kAutoDownloadForUpdates</key> <false/> </dict> </plist>
You can upload that to the JSS as a configuration profile, and scope that to the computers you want to have settings applied to.