MDM - Windows Desktop App: Enterprise Settings via Intune

The Enterprise Settings file configures the Scribe desktop app on each device: how much of the app users see, whether it is kept running, and whether it treats its version as managed by IT. It is also where silent authentication is switched on - that part is covered in Windows desktop app - silent authentication with Microsoft Entra; if you use it, add its key to the file described here and deliver the file once.

This guide assumes the app is deployed (Windows desktop app - install via Intune). The file should be in place before users first launch the app, since it is read at launch. On a test device, relaunch the app after changing it; for the rollout, deliver the file before the app.

 

The file

Deploy a file to this exact path on every device:

C:\ProgramData\Scribe\Enterprise Settings

The file has no extension - Enterprise Settings.txt is ignored without any error, and Explorer hides known extensions, so check with dir "C:\ProgramData\Scribe" from a command prompt. Save it as UTF-8 without a byte order mark (PowerShell's Out-File adds one by default; the scripts below avoid it).

A common Intune deployment - IT-managed updates, app kept running, reduced interface:

{ "is_central_deployment": true, "keep_alive": true, "visibility_mode": "minimal", "pause_hours": [1, 24, 0] }

All keys the file accepts:

Key Values Effect
is_central_deployment boolean Tells the app that IT manages its version: the in-app "update available" notice is not shown. Use with Intune-managed updates (see the install guide).
keep_alive boolean Registers a Windows scheduled task that relaunches Scribe if it is closed or crashes, so it stays running. For always-on deployments
visibility_mode normal, minimal normal is the full app. minimal reduces the app to its tray icon and essentials, for deployments where users mainly use background capture. Main window and manual capture are still possible but more hidden.
pause_hours array of hours, default [1, 24, 0] The pause options for background capture offered in the tray icon menu: each positive number is "pause for that many hours", 0 is "turn off". An empty array offers no pause options
authentication_provider entra Enables silent authentication - see the silent authentication guide for the setup it needs

Invalid keys or values can disable a setting or the whole file, with no error shown. Check the JSON before deploying it.

 

Delivery

How you deliver the file depends on your Windows licensing.

Remediation (recommended): Intune → Devices → Scripts and remediations → Remediations. A detection script checks the file is present and correct; a remediation script writes it; it runs on a schedule, so a deleted or altered file comes back on the next run. Requires Windows 10/11 Enterprise E3 or E5, Microsoft 365 F3/E3/E5, the education equivalents, or Windows 365 / Azure Virtual Desktop.

Platform script: works on any licence. Intune → Devices → Scripts and remediations → Platform scripts, run in system context. Platform scripts run once per device: if the file is later deleted it is not restored, and neither a sync nor re-uploading the script re-runs it.

The same script works as the platform script or as the remediation script:

$dir = 'C:\ProgramData\Scribe' New-Item -ItemType Directory -Path $dir -Force | Out-Null $json = '{"is_central_deployment": true, "keep_alive": true}' $path = Join-Path $dir 'Enterprise Settings' # .NET writer avoids the byte order mark that Out-File and Set-Content add by default [System.IO.File]::WriteAllText($path, $json, (New-Object System.Text.UTF8Encoding($false)))

For a remediation, pair it with this detection script, which reports non-compliant when the file is missing or differs from the expected content (keep $expected identical to $json above):

$path = 'C:\ProgramData\Scribe\Enterprise Settings' $expected = '{"is_central_deployment": true, "keep_alive": true}' if (-not (Test-Path $path)) { exit 1 } $actual = [System.IO.File]::ReadAllText($path) if ($actual.Trim() -ne $expected) { exit 1 } exit 0

Both scripts, ready to upload (remove the .txt suffix after download). Edit the $json line in both to the content you want from the examples above.

 

Verify on one device

  1. dir "C:\ProgramData\Scribe" shows Enterprise Settings with no extension, and type "C:\ProgramData\Scribe\Enterprise Settings" prints exactly the content your script writes.
  2. Quit the app fully and relaunch it. The settings take effect: the chosen visibility mode is visible, and with is_central_deployment no update notice appears.

 

Troubleshooting

Symptom Likely cause What to do
App opens in normal mode despite the file landing Wrong path, an extension on the file name, invalid JSON, or an invalid value Check from a command prompt; recreate the file as UTF-8 without BOM
Changed the file, nothing happened The file is read when the app launches Relaunch the app
Was this article helpful?
0 out of 0 found this helpful

Articles in this section

See more
Compare Scribe Plans
Find the right plan for you and your team.