JumpCloud lets you run commands across systems and groups of systems (Windows, macOS X ,or Linux). Using PowerShell, Bash, and Shell, you can automate a variety of IT tasks, including remotely installing applications. This article provides requirements and configuration information on how to install third-party applications to your JumpCloud managed systems from Commands.
- The JumpCloud agent must be installed. See Install the Agent.
Requirements and Considerations
- Command-line Installation Support
- To successfully install an application to a JumpCloud-managed system, the application needs to support silent installation from the command line. Find this information in your software vendor’s documentation or support resources.
- Unattended or Silent Installation
- Administrators aren’t presented with an interactive session when they execute a command in JumpCloud. Commands are sent to the system for execution, and then the results are shown. So, it’s required that all application installations have “silent” or “unattended” installation options.
Definitions for silent or unattended installs vary between software vendors. A "silent" install doesn’t display any indication of progress, while an unattended installation doesn’t require user interaction. JumpCloud requires an "unattended" installation which doesn’t require user interaction, but some vendors refer to this as "silent".
For Windows Systems:
- Most software vendors support EXE or MSI installation packages for Windows. There aren’t any major functional differences between EXE or MSI, but MSI installation packages:
- Are easier to deploy across several terminals over a network connection.
- Provide additional pre-configuration options like silent installs.
- MSI packages can be more compatible with JumpCloud Commands. Refer to your software vendor’s documentation and support for more information on the best options and supported methods.
For macOS X Systems:
- Most software vendors support compressed archives (.zip, .tgz, etc.), DMG files, PKG files, and flat application files for a macOS X application. Refer to your software vendor’s documentation and support for more information on the best options and supported methods.
Setup and Execution
Using the Upload File Functionality to Remotely Install an Application
- The Upload File functionality in JumpCloud only supports files that are 1MB or smaller. If your installation package is larger than this, refer to the next section for instructions on how to download bigger installation packages.
- You can upload one or more files to be pushed to the server prior to executing the command, including an installation package.
- The file push occurs right before the command is executed.
- Update the files anytime before you run the command. The next time the command runs, it will have the latest file.
- You can include any data you like, such as a tarball, that your script can untar and use for any purpose.
To remotely install an application using the upload file functionality:
- Log in to the JumpCloud Admin Portal: https://console.jumpcloud.com.
- Go to Commands.
- Click ( + ) to create a new command.
- Enter a name, then select the user you’d like to run the command as.
- Select Linux, Windows, or Mac, then click Upload File under Files to attach the installation package.
- Modify the File Destination or keep it.
- Populate your installation command.
- Note: Make sure to specify the full package path that was specified in Step 6.
- Select the system groups or individual systems to remotely install the application on, then click save command.
Downloading Installation Packages
When an installation package exceeds the 1MB maximum file size or a more streamlined process is required, use PowerShell, Bash, or Shell to download a file from a web server. After downloading the file follow the steps provided by the software vendor for silent/unattended installation.
Using Windows PowerShell
To download a file from a web server with PowerShell, use the following command:
(New-Object System.Net.WebClient).DownloadFile("<FILE_DOWNLOAD_WEB_PATH>", "<LOCAL_FILE_DOWNLOAD_PATH>")
The command downloads a file to the local machine and allows you to specify the directory. Here’s an example that uses this command to install the Windows JumpCloud Agent on a system:
(New-Object System.Net.WebClient).DownloadFile("https://cdn02.jumpcloud.com/production/jcagent-msi-signed.msi", "$env:TEMP/jcagent-msi-signed.msi")
Using Bash or Shell
To download a file from a web server with Bash or Shell, use the following command:
curl -o "<LOCAL_FILE_DOWNLOAD_PATH "<FILE_DOWNLOAD_WEB_PATH>"
Here’s an example that uses this command to install the macOS X JumpCloud Agent on a system:
curl -o /tmp/jumpcloud-agent.pkg "https://cdn02.jumpcloud.com/production/jumpcloud-agent.pkg"