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.
- Set any location-level exclusions here.
- Set any computer-level exclusions here.
- Import and run the new script.
Dependencies
- Cisco must continue to support and update their .json file.
Variables
Name | Description |
---|---|
MacVersion | This variable is specific to macOS devices; it holds the current macOS version for the target machine. |
VersionRequirementMet | This 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. |
IsVirtual | This variable will be true if the target machine is a virtual machine; if it's not, it will be false. |
IsARM | This variable will be true if the target machine's processor architecture is ARM; if it's not, it will be false. |
DotNetRequirementSatisfied | This variable will be true if the minimum .NET version of 4.6.2 is met; if it is not, it will be false. |
opendns_yesno | This 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. |
OrgID | This variable stores the OrgID EDF value for use in the script. |
userId | This variable stores the userID EDF value for use in this script. |
FingerPrint | This variable stores the fingerprint EDF value for use in this script. |
CurrentAvailableVersion | This variable stores the current available OpenDNS version. |
LatestVersionUrl | This variable stores the current full URL to the application download. |
URC_YesNo | This holds the extra data value for excluding OpenDNS URC installation on the current target machine or location. |
ServiceloopCounter | Variable used to loop for a set amount of time looking for the service to start. |
FinishStatus | This variable is used when checking basic PowerShell for common PowerShell issues, e.g., incorrect version, missing modules, etc. |
Message | Holds the final log message in the event that we finish the install and need to verify. |