# Executing Custom Scripts For Mac Users **Last Updated On**: 10 Jul 2026 **6 minutes read** ## What is a Custom Script Configuration? Custom script configuration in Endpoint Central enables administrators to establish and manage essential settings and tasks for their organization. This includes actions like disabling blocking applications, changing file owners, checking for the existence of a file, etc. These configurations can be applied to the **Mac** operating systems as **User Configuration**. These scripts offer more flexibility compared to standard options, allowing you to run scripts tailored to your specific requirements. They can be scheduled to run during **Every Logon**, **Subsequent Logon**, **During Every Logon Until**, or just **Once**. It is important to select the configuration type as User based on the script's behavior. ## Supported Language for Mac Custom Script **Mac supported script types** - sh, scpt, pl, py, command. In Endpoint Central, scripts must be added to the Script Repository before being deployed to end-machines. You can choose from the [predefined script templates](https://www.manageengine.com/products/desktop-central/help/configuration-management/managing_custom_scripts.html) or add your own scripts to the repository. ## How to Deploy a Custom Script Configuration? 1. In the Endpoint Central console, navigate to **Configurations > Add Configurations > Mac Configuration > Custom Script > User Configuration**. ![mac user custom script config navigation](https://cdn.manageengine.com/sites/meweb/images/desktop-central/help/configuration-management/mac-user-custom-script.webp) 2. Specify the **Name** and **Description** for the configuration. ![mac user custom script config](https://cdn.manageengine.com/sites/meweb/images/desktop-central/help/configuration-management/mac-user-custom-script-ui.webp) 3. You can execute the custom script using the **Repository** or **Command line** option. 4. If you want to execute scripts that are available in the **Script Repository**, then you can proceed with the **Repository** option. - Select the script from the **Script Name** field. - Provide **Script Arguments**, if any. **Note**: For example, in case of `BlockAppsForMac.sh` the application to be blocked must be provided in script arguments. In case of hard coded scripts, it may not be necessary. If multiple arguments are required, each argument needs to be enclosed within `"...."` and each argument is separated from one another by blank white space. - Upload **Dependency Files**, if any. - Exit codes confirm if the script has been executed successfully. By default, it is 0. If you have any exit codes, you can specify them here. If there are multiple exit codes, separate them with commas [,]. 5. If you want to run commands, then you can proceed with the **Command Line** option. - Enter the command to be executed in the Command Line. To execute multiple commands, enter them separated by a semicolon [;]. - Upload **Dependency Files**, if any. - Exit codes confirm if the script has been executed successfully. By default, it is 0. If you have any exit codes, you can specify them here. If there are multiple exit codes, separate them with commas [,]. 6. Configure the **Frequency** as per your requirement from the options given below: - **Once**: The script will be deployed once. If you select **Enable logging for troubleshooting**, the executed script output is logged and will be displayed in the Remarks section under **All configurations > Click on any configuration > Execution Status**. - **During Every Logon**: The script will be deployed during every user logon. - **During Subsequent Logon**: The script will be executed for the next number of user logon you select from the dropdown. - **During Every Logon Until**: The script will be executed during every user logon until the configured date and time. 7. [Define the targets](https://www.manageengine.com/products/desktop-central/help/general/defining_targets.html) for the deployment. 8. Specify retry options, if required. 9. You can also [enable notifications](https://www.manageengine.com/products/desktop-central/help/configuration-management/configuring_execution_settings.html?trackingcode=dci&did=DIDNotAvailable&buildno=113241609#notifications) to receive emails based on the specified frequency. 10. Click on the **Deploy** button to deploy the configuration in the target machines. 11. To save the configuration as a draft or template for later use, click **Save as**. You have successfully added a Mac User-based Custom Script for your endpoints.