Skip to main content

Deploy OpenDNS Roaming Client Latest Version

Summary

This script will query Cisco directly to obtain the newest roaming client installation media and install that software, if necessary, on a target Mac or Windows device.

The script will push an update to the Windows device if an out-of-date version is installed. However, for macOS, it is just a basic installation script.

Implementation

  • Set up the client EDF values as necessary per client.

Image

  • Set any location-level exclusions here.

Image

  • Set any computer-level exclusions here.

Image

  • Import and run the new script.

Image

Dependencies

  • Cisco must continue to support and update their .json file.

Variables

NameDescription
MacVersionThis variable is specific to macOS devices; it holds the current macOS version for the target machine.
VersionRequirementMetThis variable is specific to macOS devices; it will be true if the current target OS version meets the minimum required version; if it does not, it will be false.
IsVirtualThis variable will be true if the target machine is a virtual machine; if it's not, it will be false.
IsARMThis variable will be true if the target machine's processor architecture is ARM; if it's not, it will be false.
DotNetRequirementSatisfiedThis variable will be true if the minimum .NET version of 4.6.2 is met; if it is not, it will be false.
opendns_yesnoThis variable is the same variable used by the official solution. It is meant to gather the EDF data to verify if the client should have OpenDNS.
OrgIDThis variable stores the OrgID EDF value for use in the script.
userIdThis variable stores the userID EDF value for use in this script.
FingerPrintThis variable stores the fingerprint EDF value for use in this script.
CurrentAvailableVersionThis variable stores the current available OpenDNS version.
LatestVersionUrlThis variable stores the current full URL to the application download.
URC_YesNoThis holds the extra data value for excluding OpenDNS URC installation on the current target machine or location.
ServiceloopCounterVariable used to loop for a set amount of time looking for the service to start.
FinishStatusThis variable is used when checking basic PowerShell for common PowerShell issues, e.g., incorrect version, missing modules, etc.
MessageHolds the final log message in the event that we finish the install and need to verify.