Anyone in JAMFnation use it? Pros Cons? How bad is it to implement and have you seen any degradation on the Mac's?
Thanks in advance.
Anyone in JAMFnation use it? Pros Cons? How bad is it to implement and have you seen any degradation on the Mac's?
Thanks in advance.
Newby here, so want to apologize if I tread on any toes... ThousandEyes has barely any documentation for Enterprise Deployment. They want you to install and use Munki to make a package. Kind of ridiculous since I have done all of the company installs through Composer and MacAdmins packages. I just imported their package into Jamf and thanks to Jamf users, I got the extensions pushed via Configuration Profiles. Here is the borrowed script and my pictures for Google Chrome.
You would load ddnennmeinlkhkmajmmfaojcnpddnpgb into Extension ID 1
{ "title": "Google Chrome Extensions (com.google.Chrome)", "description": "Install extensions in Google Chrome", "properties": { "ExtensionInstallForcelist": { "title": "Extension Install Forcelist", "description": "Add extension IDs. Paste the extension ID in front of the default text.", "property_order": 5, "type": "array", "items": { "title": "Extension ID", "default": "<paste extension ID here>;https://clients2.google.com/service/update2/crx", "type": "string" } } } }
Here's another one for Microsoft Edge for Chromium. Just jostled the script for com.microsoft.Edge:
You would load obdencanbejmhpbikpcgkdflkffifoof into Extension ID 1
{ "title": "Microsoft Edge Extensions (com.microsoft.Edge)", "description": "Install extensions in Microsoft Edge", "properties": { "ExtensionInstallForcelist": { "title": "Extension Install Forcelist", "description": "Add extension IDs. Paste the extension ID in front of the default text.", "property_order": 5, "type": "array", "items": { "title": "Extension ID", "default": "<paste extension ID here>;https://edge.microsoft.com/extensionwebstorebase/v1/crx", "type": "string" } } } }
I would think you could also just do a straight Plist. This is for Google Chrome extension: Preference Domain: com.google.Chrome
<?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>ExtensionInstallForcelist</key> <array> <string>ddnennmeinlkhkmajmmfaojcnpddnpgb;https://clients2.google.com/service/update2/crx</string> </array> </dict> </plist>
This one for the MS Edge for Chromium extension: Preference Domain: com.microsoft.Edge
<?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>ExtensionInstallForcelist</key> <array> <string>obdencanbejmhpbikpcgkdflkffifoof;https://edge.microsoft.com/extensionwebstorebase/v1/crx</string> </array> </dict> </plist>
Here is a walk through of how to install the configuration file after the app has been installed, using Composer:
I tend to simply processes such as these so that an update can be managed by junior members of the team. In my case, I've created an installation script (below), and the team follow the following steps to upload updates:
Installation Script (abridged to include only relevant steps)
#!/usr/bin/env zsh
# Script Name: Application - ThousandEyes - Install.zsh
# Description: Activates the application to vendor specifications
# Author: james.stracey@mac.com
APPLICATION_PATH="/Applications/ThousandEyes Endpoint Agent.app"
JAMF_BINARY="/usr/local/bin/jamf"
TE_CONFIGURATION_KEY="xxx"
# Step 1: Install application
if [ ! -f "${APPLICATION_PATH}/Contents/Info.plist" ]; then
write_log "Executing installation..."
"$JAMF_BINARY" policy -event thousandeyes-install -forceNoRecon
fi
# Step 2: Create configuration file
# setup temp folder
TMP_PATH=$(mktemp -d -t ci) || exit 1
write_log "TMP_PATH: ${TMP_PATH}"
# write out configuration file
echo "${TE_CONFIGURATION_KEY}" > "${TMP_PATH}/te-endpoint-agent"
# Step 3: Configure the application
if [ ! -f "${APPLICATION_PATH}/Contents/MacOS/te-agent" ]; then
write_log "Installation failed..."
ERROR_CODE=1
else
write_log "Applying configuration..."
"${APPLICATION_PATH}/Contents/MacOS/te-agent" --applyconfig "${TMP_PATH}/te-endpoint-agent"
fi
# Step 4: Remove working files
# remove temp folder
if [ -d "${TMP_PATH}" ]; then
write_log "Removing temp folder..."
rm -rf "${TMP_PATH}"
fi
exit ${ERROR_CODE}
Here is a walk through of how to install the configuration file after the app has been installed, using Composer:
When I tried it this way it crashes with the message "ThousandEyes Endpoint Agent" is damaged and can't be opened. You should move it to the Trash. It still installs even though this message is displayed and then another pop-up stating it can't be moved to the trash.
I tend to simply processes such as these so that an update can be managed by junior members of the team. In my case, I've created an installation script (below), and the team follow the following steps to upload updates:
Installation Script (abridged to include only relevant steps)
#!/usr/bin/env zsh
# Script Name: Application - ThousandEyes - Install.zsh
# Description: Activates the application to vendor specifications
# Author: james.stracey@mac.com
APPLICATION_PATH="/Applications/ThousandEyes Endpoint Agent.app"
JAMF_BINARY="/usr/local/bin/jamf"
TE_CONFIGURATION_KEY="xxx"
# Step 1: Install application
if [ ! -f "${APPLICATION_PATH}/Contents/Info.plist" ]; then
write_log "Executing installation..."
"$JAMF_BINARY" policy -event thousandeyes-install -forceNoRecon
fi
# Step 2: Create configuration file
# setup temp folder
TMP_PATH=$(mktemp -d -t ci) || exit 1
write_log "TMP_PATH: ${TMP_PATH}"
# write out configuration file
echo "${TE_CONFIGURATION_KEY}" > "${TMP_PATH}/te-endpoint-agent"
# Step 3: Configure the application
if [ ! -f "${APPLICATION_PATH}/Contents/MacOS/te-agent" ]; then
write_log "Installation failed..."
ERROR_CODE=1
else
write_log "Applying configuration..."
"${APPLICATION_PATH}/Contents/MacOS/te-agent" --applyconfig "${TMP_PATH}/te-endpoint-agent"
fi
# Step 4: Remove working files
# remove temp folder
if [ -d "${TMP_PATH}" ]; then
write_log "Removing temp folder..."
rm -rf "${TMP_PATH}"
fi
exit ${ERROR_CODE}
thank you...but this doesnt seem to register the agent to the portal.
when deploying in the policy, it says that the script was not found.
With recent versions you can now simply use the --register flag and pass in your connection string.
"${APPLICATION_PATH}/Contents/MacOS/te-agent" --register "${CONNECTION_STRING}"
my ThousandEyes doenst get the Connection String. Can you maybe provide the script with the --register for me please?
It crashes always when i added the --register command.
Thanks already
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.