Platform scripts vs. Remediation scripts.

Platform scripts vs. Remediation scripts. What to use when and where is the difference.

Ahmad Hajjouz

9/9/20243 min read

Introduction

Have you ever wondered in which use-cases in Intune it would be handy to use remediation scripts vs platform scripts? is there any diffrences of how they work and how they are deployed?

similar for the platform scripts the remediation scripts date some years back in Intune. It was kind of hidden under the Endpoint Analytics blade and was called "proactive remediation" until the feature was renamed to "remediations" mid 2023 and was moved to the "Devices" blade.

Understanding Platform and Remediation scripts

Platform scripts: platform scripts is a great method to run single scripts on devices to initially set or change settings or fix minor issues that cannot be done using Intune built in settings. On Windows it allowes you to upload Powershell scripts, run them on devices and gives you some options on the the context that the script will be run in.

Platform scripts are also available for macOS devices and Linux devices where you can run Shell scripts. But today we will be focusing on Windows.

Remediation scripts: remediation scripts is a feature that allows you to run Powershell scripts on Windows devices with some further adjustable options. Remediations consist of two scripts. one to detect (a setting or a state or an issue on devices) and the other to remediate it (change setting, state or fix issues). this allows much more control and structure into the scripts.

The deployment of the scripts

Platform scripts: platform scripts only allows you to assign the script to a group of devices or users or the generic "All Devices" or "All Users" however it doesn't allow you to set any schedule or run the script on regular bases. it's more for one time fixes that are run on the devices through the Intune management extension.

Remediation scripts: unlike the platform scripts those offer some more options for the deployment as you can set a schedule and define times and interval which the scripts will be run at. This comes handy for reporting or fixes that needs to run regularly.

Reporting

Platform scripts: platform scripts don't offer much reporting. of course you can build some reporting options in your scripts that write the output into an external location like Azure storage. But usually it's more complicated. Intune However will report the status of the script runs per device or user.

on the device itself you can troubleshoot script runs using the Intune Management extension logs C:\ProgramData\Microsoft\IntuneManagementExtension\Logs

which you can view by running CMTrace.exe

Remediation scripts: those offer a much better reporting experience as they can show the output of the detection and remediation scripts directly in the intune console. And also they are called remediation scripts you can also use them only for reporting. as you can only provide a detection script and use it without a remediation script only to report an issue or a state on devices.

the following can be reported using remediation scripts:

  • Username

  • Detection status

  • Remediation status

  • OS version

  • Last run

  • Pre-remediation detection error

  • Pre-remediation detection output

  • Remediation error

  • Post-remediation detection error

  • Post-remediation detection output

  • Filters

Limitations

Platform scripts:

  • No proper reporting

  • No time schedule

  • No frequency schedule

Remediation scripts:

  • 200 scripts limitation

  • needs enterprise license as Business Premium License doesn't cover this feature

Overall

For me the platform scripts are more for the initial one-time changing settings. it also offers support for other platforms like Linux and macOS. For later changes and more granular deployment remediations is the way to go.

Happy testing!