# Intune
A brief guide to distributing Psono's browser extensions and configuring its browser extensions and desktop app centrally with Microsoft Intune (Endpoint Manager).
For deployment through Active Directory Group Policy, see Force-install Browser Extensions with Group Policy.
# Installation Windows
This guide explains how to distribute Psono in your company and install it for your users in Edge.
Login to endpoint.microsoft.com
Click on Devices

Go to Windows devices > Configuration profiles

Click on Create profile

Basics
Select" Windows 10 and later", "Templates" and "Administrative Templates"

Configuration settings
Choose "Computer Configuration and" select "Control which extensions are installed silently"

Toggle Enabled
Toggle Enabled and enter the following value
abobmepfpbkapdlmfhnnkebcnhgeccbm(or for the extension from chrome storeeljmjmgjkbmpmfljlmklcfineebidmlo;https://clients2.google.com/service/update2/crx)
Assignments
Assign the profile to the intended users / groups or devices as needed.

Review and create

It takes a while till the profile is applied to all users.
# Configuration Windows with ADMX templates
You can configure Psono's browser extensions and Windows desktop app through Intune with the provided ADMX templates.
# Import the ADMX templates
Download the PSONO template and language file:
For browser extensions, also download:
The browser extension template depends on the PSONO template. Import them in this order:
Log in to the Microsoft Intune admin center (opens new window).
Go to Devices > Manage devices > Configuration > Import ADMX.
Click Import, upload
PSONO.admxtogether withPSONO.adml, and wait until the import status is Available.For browser extensions, click Import again, upload
PSONO_Browser_Extensions.admxtogether withPSONO_Browser_Extensions.adml, and wait until the import status is Available.
Keep the PSONO template imported while the browser extension template is in use. Intune requires the parent template for the browser extension policies.
# Create a configuration profile
Go to Devices > Manage devices > Configuration and create a new policy.
Select Windows 10 and later as the platform and Templates > Imported Administrative templates as the profile type.
Enter a meaningful name for the profile.
Under Configuration settings, navigate to the product you want to configure:
- Browser extensions: Computer Configuration > PSONO > PSONO Browser Extensions.
- Desktop app: Computer Configuration > PSONO > PSONO Desktop App.
Select the appropriate
ConfigJsonpolicy, set it to Enabled, and enter your configuration as a single-line JSON object. For example:{"backend_servers":[{"title":"Your Company","url":"https://example.com/server"}],"base_url":"https://example.com/","allow_custom_server":false,"allow_registration":true,"allow_lost_password":true}Paste the JSON object directly, without a
ConfigJsonwrapper or escaped quotation marks.Separate policies are available for Chrome, Edge, Firefox, and the desktop app. Configure the policies for the products used in your environment. The desktop app policy is named ConfigJson for PSONO Desktop App and writes a
ConfigJsonstring value (REG_SZ) toHKLM\SOFTWARE\Policies\esaqa\Psono.Assign the profile to the intended users, groups, or devices, then review and create it.
It can take some time for the profile to be applied to all assigned devices.
The desktop app reads its configuration at startup. Fully quit and reopen the app after the policy has been applied. See Configure Desktop App for Group Policy and direct registry configuration instructions.
# Configuration Windows with PowerShell scripts
As an alternative to the ADMX templates, you can distribute PowerShell scripts that make the necessary adjustments.
Login to endpoint.microsoft.com
Click on Devices

Go to Scripts

Click "Add" and select "Windows 10 and later"

Enter a meaningful title

Script settings
Pick one of the PowerShell scripts below and check "Run script in 64 bit PowerShell Host"

- PowerShell script for Chrome:
if((Test-Path -LiteralPath "HKLM:\SOFTWARE\Policies\Google\Chrome\3rdparty\extensions\eljmjmgjkbmpmfljlmklcfineebidmlo\policy") -ne $true) { New-Item "HKLM:\SOFTWARE\Policies\Google\Chrome\3rdparty\extensions\eljmjmgjkbmpmfljlmklcfineebidmlo\policy" -force -ea SilentlyContinue }; New-ItemProperty -LiteralPath 'HKLM:\SOFTWARE\Policies\Google\Chrome\3rdparty\extensions\eljmjmgjkbmpmfljlmklcfineebidmlo\policy' -Name 'ConfigJson' -Value '{"backend_servers":[{"title":"Your Company","url":"https://example.com/server"}],"base_url":"https://example.com/","allow_custom_server":false,"allow_registration":true,"allow_lost_password":true}' -PropertyType String -Force -ea SilentlyContinue;- PowerShell script for Edge:
if((Test-Path -LiteralPath "HKLM:\SOFTWARE\Policies\Microsoft\Edge\3rdparty\Extensions\abobmepfpbkapdlmfhnnkebcnhgeccbm\policy") -ne $true) { New-Item "HKLM:\SOFTWARE\Policies\Microsoft\Edge\3rdparty\Extensions\abobmepfpbkapdlmfhnnkebcnhgeccbm\policy" -force -ea SilentlyContinue }; New-ItemProperty -LiteralPath 'HKLM:\SOFTWARE\Policies\Microsoft\Edge\3rdparty\Extensions\abobmepfpbkapdlmfhnnkebcnhgeccbm\policy' -Name 'ConfigJson' -Value '{"backend_servers":[{"title":"Your Company","url":"https://example.com/server"}],"base_url":"https://example.com/","allow_custom_server":false,"allow_registration":true,"allow_lost_password":true}' -PropertyType String -Force -ea SilentlyContinue;- PowerShell script for Firefox:
if((Test-Path -LiteralPath "HKLM:\SOFTWARE\Mozilla\ManagedStorage\{3dce78ca-2a07-4017-9111-998d4f826625}") -ne $true) { New-Item "HKLM:\SOFTWARE\Mozilla\ManagedStorage\{3dce78ca-2a07-4017-9111-998d4f826625}" -force -ea SilentlyContinue }; New-ItemProperty -LiteralPath 'HKLM:\SOFTWARE\Mozilla\ManagedStorage\{3dce78ca-2a07-4017-9111-998d4f826625}' -Name '(default)' -Value 'C:\Program Files\Mozilla Firefox\browser\extensions\3dce78ca-2a07-4017-9111-998d4f826625.json' -PropertyType String -Force -ea SilentlyContinue; New-Item 'C:\Program Files\Mozilla Firefox\browser\extensions' -ItemType Directory New-Item 'C:\Program Files\Mozilla Firefox\browser\extensions\3dce78ca-2a07-4017-9111-998d4f826625.json' -ItemType File -Value '{"name": "{3dce78ca-2a07-4017-9111-998d4f826625}","description": "ignored","type": "storage","data": {"ConfigJson": "{\"backend_servers\":[{\"title\":\"Your Company\",\"url\":\"https://example.com/server\"}],\"base_url\":\"https://example.com/\",\"allow_custom_server\":false,\"allow_registration\":true,\"allow_lost_password\":true}"}}' -ForceAssignments
Assign the script to the corresponding users / groups / devices.
Review
Review your settings and confirm.