Guides
ProductDeveloperPartnerPersonal
Guides

Mass Deployment (macOS)

Contents

(Optional) Package Customization

We recommend that on macOS platform, you customize the installation package before performing a mass deployment. For detailed instructions see Customize the macOS installation of Cisco Secure Client.

You can customize the macOS installer image (.dmg file) to embed the Umbrella profile (OrgInfo.json) within it before deployment. The profile will then be automatically imported during installation. The package can also include customizations to (optionally) disable the Secure Client VPN functionality.

You can use this customization to create a preconfigured deployment package that can be executed without additional scripts. For detailed instructions see Customize the macOS installation of Cisco Secure Client.

Add Umbrella Profile

Use the macOShdiutil command to create and mount a writable version of the .dmg image.

hdiutil convert cisco-secure-client-macos-<version>-predeploy-k9.dmg -format UDRW -o csc-writeable.dmg  
hdiutil attach csc-writeable.dmg

You can then add the Umbrella profile (OrgInfo.json) to the package in the following location:

/Volumes/Cisco\ Secure\ Client\ <version>/Profiles/Umbrella/OrgInfo.json

(Optional) Disable VPN Functionality

You can edit the following file (within the mounted DMG image) to disable the VPN functionality.
/Volumes/Cisco\ Secure\ Client\ <version>/Profiles/ACTransforms.xml

Add the following configuration to ACTransforms.xml:

<Transforms> 
<DisableVPN>true</DisableVPN> <DisableCustomerExperienceFeedback>true</DisableCustomerExperienceFeedback> </Transforms>

Save the .dmg image

Eject the mounted disk image and convert it back to a read-only format.

diskutil eject /Volumes/Cisco\\ Secure\\ Client\\ <version>  
hdiutil convert csc-writeable.dmg -format UDRO -o csc-readable.dmg

The resulting file (csc-readable.dmg) can be distributed to users for manual installation or used as part of the Automated Installation process.

Automated Installation (macOS)

You can install Cisco Secure Client using a scripted, unattended process that follows the same workflow as the standard manual installation.

Installation (Pre-Deployment Package)

Cisco Secure Client (and its modules) are provided as a single ‘pre-deployment’ .dmg package. You must provide the attached install_choices.xml file to customize the installation so that only the necessary modules are installed. The attached install_choices.xml is preconfigured to install the minimum modules (Core VPN + Umbrella).

This installation method is possible only if you are performing a scripted installation or if your endpoint management tool supports the -applyChoiceChangesXML parameter.

Example:

hdiutil attach ~/Downloads/cisco-secure-client-macos-X.X.XXXX-core-vpn-predeploy-k9.dmg

sudo installer -pkg /Volumes/Cisco\\ Secure\\ Client\<version>/Cisco\\ Secure\\ Client.pkg -applyChoiceChangesXML ~/Downloads/install_choices.xml -target /

👍

Note:

The ‘install_choices.xml’ file is used to install the Core Secure Client and Umbrella modules. Additionally, it can be edited to include the installation of other Secure Client modules as well.

Installation (Web Deployment Package)

Cisco also provides a web deployment package that contains each Cisco Secure Client module as individual .dmg files. This alternative is only recommended if your endpoint management tool can't supply the required -applyChoiceChangesXML parameter to select the corresponding modules.

Download the alternative headend (webdeploy) package (.pkg) and extract it with the macOS archive utility. Locate the relevant .dmg files in the binaries/ directory of the extracted package.

Both the Core VPN module and the Umbrella module must be installed separately as shown in the following examples:

hdiutil attach cisco-secure-client-macos-X.X.XXXX-core-vpn-webdeploy-k9.dmg  
sudo installer -pkg /Volumes/Cisco\\ Secure\\ Client\\ -\\ AnyConnect\\ VPN\\ X.X.X.XX/ -target /

hdiutil attach cisco-secure-client-macos-X.X.XXXX-umbrella-webdeploy-k9.dmg  
sudo installer -pkg /Volumes/Cisco\\ Secure\\ Client\\ -\\ Umbrella\\ X.X.X.XX/ -target /

Install Umbrella Profile

This is necessary unless the profile is already bundled with the installation package, see Package Customization.

After installation, copy the Umbrella profile to the correct folder on the local machine to register and activate the Umbrella module. This method is useful for endpoint management software that can push the files to the endpoint. The profile must be placed in the following location:

/opt/cisco/secureclient/umbrella/OrgInfo.json

Instead of copying the umbrella profile, you can create it with a script. This is useful if your endpoint management tools support post-install scripts.

The following example shows how to create the OrgInfo.json file using a bash script. Replace ORG_ID, FINGERPRINT, and USER_ID values with the ones from your profile.

# !/bin/bash

orginfo_file="/opt/cisco/secureclient/umbrella/OrgInfo.json"  
data="{\\n  
    "organizationId" : "ORG_ID",\\n  
    "fingerprint" : "FINGERPRINT",\\n  
    "userId" : "USER_ID"\\n  
}"  
if ! test -f $orginfo_file; then  
	echo -e $data > $orginfo_file  
fi

👍

Note:

The Meraki Systems Manager (SM) Deployment guide explains how to deploy the Umbrella profile using scripts.


(Optional) Disable VPN Functionality (Post-Installation)

If the VPN functionality is not disabled during installation, it can be (optionally) disabled with a post-installation task or script. The Secure Client VPN functionality can be disabled after installation by creating a special profile, VPNDisable_ServiceProfile.xml. Place the profile in the following directory:

/opt/cisco/secureclient/vpn/profile/VPNDisable_ServiceProfile.xml

Instead of copying the umbrella profile, you can create it with a script. This is useful for management software that supports post-install script. The following example shows how to create the VPNDisable_ServiceProfile.xml using a bash script.

# !/bin/bash

profile_file="/opt/cisco/secureclient/vpn/profile/VPNDisable_ServiceProfile.xml"  
data="<?xml version="1.0" encoding="utf-8"?>\\n  
<AnyConnectProfile xmlns="http://schemas.xmlsoap.org/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap.org/encoding/ AnyConnectProfile.xsd">\\n  
  <ClientInitialization>\\n  
    <ServiceDisable>true</ServiceDisable>\\n  
  </ClientInitialization>\\n  
</AnyConnectProfile>\\n"

if ! test -f $profile_file; then  
	echo -e $data > $profile_file  
fi

For more information, see How to Disable VPN Functionality in Cisco Secure Client.

Allow Secure Client System Extensions

By default, macOS requires users to accept the activation of a new system extension. As a result, users are presented with a dialog box when they first install Cisco Secure Client. Users must follow the prompts to allow the Cisco Secure Client - Socket Filter’ extension.

Alternatively, the system extension can be approved centrally by the administrator using endpoint management, or device management suites if the device is managed by UEM tools. For more information, see the advice in Approving the Cisco Secure Client System Extension.


Customize Windows Installation of Cisco Secure Client < Mass Deployment (macOS) > Customize macOS Installation of Cisco Secure Client