Deploy Linux Shell scripts using Scalefusion

Shell scripts are a powerful tool for automating tasks and simplifying configuration and can be used to automate almost any task in the Windows ecosystem. With a carefully designed script, you can automate various administrative tasks like adding users, installing applications, checking for OS updates to name a few. It becomes imperative for an MDM solution to provide support to be able to push scripts and then view detailed output.

Scalefusion offers you a powerful interface that lets you push scripts to all your devices and view detailed output on each of them. Follow the steps below to deploy a script and view the output.

Prerequisites

  1. Enroll a Linux Device
  2. Scalefusion Enterprise Plan

Step 1: Upload and Deploy the script

  1. Navigate to Application Management > Enterprise Store , click on Upload New App and select Upload Linux Script
  1. Using the script upload wizard upload your script and click Save
    1. Script Name: Provide a name for your reference
    2. Upload Script File: Click on the upload arrow and upload the script file from your local machine.
  2. Once the script is saved you will be provide an option to publish the script. Select the profiles where you want to publish it and click Publish.
    1. Once a script is published a push is sent to the devices and on all devices which are online the execution will start.
Once a script is published to the profile, all new devices enrolled here after will automatically execute this script post enrollment.

Step 2: View Status & Unpublish

  1. All the uploaded scripts appear in the Enterprise store section. Clicking on Publish allows you to view details of the script.
    1. Publish: Use this option to publish the script to device profiles.
    2. Unpublish: Use this option to unpublish the script from device profiles.
      Please note that this option would not undo the changes that the script did. Un-publishing would cause the script not be executed on the newly enrolled devices.
    3. Summary: The summary pane gives you the information and current execution status,
      1. Size: Indicates the size of script
      2. Uploaded On: The time when this script was uploaded.
      3. Installed On: Number of devices where it is executed.
      4. Published To: Number of devices where it is published to.
        The Installed On and Published To stats are retained even after a script is unpublished.
    4. Preview: Use this option to preview the script that you uploaded.
    5. View Status: Use this option to get detailed status of the script execution on each device and the output.
      1. Click on View Details to check the output of the script execution.
        1. Stdout: This tab gives you the output of the script.
        2. Stderr: This tab gives you the error if any from the script execution.

Frequently Asked Questions

  1. Question: How often the script is executed?
    1. For now the script is only executed once the device receives it. We are looking at adding support for scheduling.
  2. Question: Why does not the script execute again even when we Unpublish and Publish it again on the same profile?
    1. Our current implementation requires you to delete the script completely and upload it again on the same profile if you want to execute it again.

Helper Scripts

We have curated some helper scripts, that lets you perform some administrative tasks readily. Please click on the links below to download the scripts and before using them please replace the placeholders in them.

Please ensure that you use a UTF-8 editor like gedit on Ubuntu or notepad++ on Windows or Sublime Text so as to ensure that the generated script file is UTF-8 encoded.
  1. Click on the Script link in the Script column which opens the script in a new browser window.
  2. Copy the contents to a UTF-8 editor like notepad++ OR Sublime Text in Windows or gedit in Ubuntu
    1. If you are using notepad++ then use the bottom right panel to change the type to Unix (LF)
  3. Update the script and replace the placeholders as required.
  4. Upload the script to Scalefusion Dashboard and deploy it to the devices.

Script

Description

Placeholders to Replace

Allow Keyboard & Mouse

Use this script to allow input devices when you choose to block the usb devices via device profile.

None

Create a Local Standard User

Use this script to create a local user with standard privileges.

SET_USERNAME: Desired username

SET_PASSWORD: Desired password

Create a Local Sudo/Root User

Use this script to create a local user with sudo/root privileges.

SET_USERNAME: Desired username

SET_PASSWORD: Desired password

Change Password for a User

Use this script to change the password for a local user.

SET_USERNAME: Username for which the password has to be changed.

NEW_PASSWORD: New password for the user

List All users

Use this script to retrieve the list of users on each device.

None

Install Google Chrome

Use this script to install Google Chrome.

None

Install Any App using Flatpack

Use this script to install flatpack and install any applications.

ADD_APP_PACKAGE_NAME: Provide a Flatpack compatible package name. Find package name by navigating to https://flathub.org/apps , click on the app name and scroll down to see the package name.

List Available Updates

Use this script to list available OS and app updates.

None

Install All Updates silently

Use this script to install all available updates silently.

None

Block URLs/Websites

Use this script to block the websites defined in the script.

URLS_TO_BLOCK: Provide a list of URLs with each URL in a new line, that you want to block.

Unblock Websites

Use this script to unblock the websites defined in the script, that may have been blocked earlier.

URLS_TO_UNBLOCK: Provide a list of URLs with each URL in a new line, that you want to unblock.

Lock Device

Use this script to remotely lock the device.

Please note that, we don't support repeat execution of scripts, so please delete and re-upload the script and Publish each time you would want to lock device.

Notes:
1. Some of the scripts and their contents are sourced from internet and yes our new friend ChatGPT.
2. Please validate the scripts on a test machine before deploying them on all your managed devices.
3. Scalefusion has tested these scripts, however Scalefusion will not be responsible for any loss of data or system malfunction that may arise due to the usage of these scripts.


How did we do?


Powered by HelpDocs (opens in a new tab)