From ad23d66192627343a710e3f8c77233954d6b5090 Mon Sep 17 00:00:00 2001 From: Carlos Nihelton Date: Tue, 15 Oct 2024 11:37:54 -0300 Subject: [PATCH 01/11] How-to guide using Intune to enforce the startup Using Intune Remediations sysadmins can monitor the value of the desired key and reduce the likelyhood of the inherent race condition of installing the MSIX and setting the registry value causing silent issues. Eventually Intune would pick up the non-compliant state and fix it up. --- docs/howto/assets/intune-remediations.png | Bin 0 -> 83149 bytes ...enforce-agent-startup-remotely-registry.md | 117 ++++++++++++++++++ docs/howto/index.md | 1 + 3 files changed, 118 insertions(+) create mode 100755 docs/howto/assets/intune-remediations.png create mode 100644 docs/howto/enforce-agent-startup-remotely-registry.md diff --git a/docs/howto/assets/intune-remediations.png b/docs/howto/assets/intune-remediations.png new file mode 100755 index 0000000000000000000000000000000000000000..e84bdc7021d6182f586132576d945a301074b082 GIT binary patch literal 83149 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 literal 0 HcmV?d00001 diff --git a/docs/howto/enforce-agent-startup-remotely-registry.md b/docs/howto/enforce-agent-startup-remotely-registry.md new file mode 100644 index 000000000..f58a1adf8 --- /dev/null +++ b/docs/howto/enforce-agent-startup-remotely-registry.md @@ -0,0 +1,117 @@ +# How to enforce the UP4W background agent startup remotely using the Windows Registry + +Ubuntu Pro for WSL, being a Microsoft Store application, cannot ship user services as of the time of this writing (late +2024), but can deploy startup tasks instead, programs that run with user permissions when the said user logs on the +Windows device. The UP4W background agent runs as a startup task. By design a startup task is only enabled by the +operating system when the user interacts with the application for the first time. While this behaviour is a feature for +end users it presents a source of friction for deployments at scale, when system administrators expect zero-touch +deployment of UP4W to just work. + +This guide shows how sysadmins can use the Windows Registry to enforce the enablement of the UP4W background agent +startup task without depending on the end user interaction. While this guide uses +[Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/what-is-intune), it should be reproducible with any +remote management solution capable of deploying MS Store (or MSIX-packaged) applications and registry keys. + +## Pre-requisites + +- At least one managed Windows device. +- A Windows remote management solution. +- If using Intune, an Enterprise E3 or E5 or Education A3 or A5 licenses. + +## Key takeaways + +1. The registry path `"HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\CanonicalGroupLimited.UbuntuPro_79rhkp1fndgsc"` + holds configuration information specific about UP4W and it's created (and overwritten if it already exists) when the + MSIX package is installed. +2. Under that, a sub-key named `UbuntuProAutoStart` governs the startup task state. +3. Setting the DWORD value named `State` to `4` makes the operating system interpret it as + ["Enabled by Policy"](https://learn.microsoft.com/en-us/uwp/api/windows.applicationmodel.startuptaskstate). +4. The next time the user logs on the Windows device, the OS will execute the UP4W startup task (whether had the user + interacted with the application or not). +5. Windows remote management solutions can monitor that registry key value and proactively fix it, thus enforcing the + UP4W startup task to be always enabled. + +## Using Intune Remediations + +Remediations are script packages that can detect and fix common issues on a user's device before they even realise +there's a problem. Each script package consists of a detection script, a remediation script, and metadata. Through +Intune, you can deploy these script packages and see reports on their effectiveness. +[Visit the Microsoft Intune documentation](https://learn.microsoft.com/en-us/mem/intune/fundamentals/remediations) +to learn more about it. Those scripts run on a predefined schedule and if the detection script reports a failure (by +`exit 1`) then the remediation script will run. That allows system administrators to watch for the specific Registry +key value that represents the enablement of the UP4W background agent startup task. The contents of both scripts are +presented below. **Make sure to save them encoded in UTF-8**, as required by Intune. + +Detection script: + +```powershell +$Path = "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\CanonicalGroupLimited.UbuntuPro_79rhkp1fndgsc\UbuntuProAutoStart" +$Name = "State" +$Value = 4 + +Try { + $Registry = Get-ItemProperty -Path $Path -Name $Name -ErrorAction Stop | Select-Object -ExpandProperty $Name + If ($Registry -eq $Value){ + Write-Output "Compliant" + Exit 0 + } + Write-Warning "Not Compliant" + Exit 1 +} +Catch { + Write-Warning "Not Compliant" + Exit 1 +} +``` + +Remediation script: + +```powershell +$Path = "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\CanonicalGroupLimited.UbuntuPro_79rhkp1fndgsc\UbuntuProAutoStart" +$Name = "State" +$KeyFormat = "DWORD" +$value = 4 + + +try{ + if(!(Test-Path $Path)){New-Item -Path $Path -Force} + if(!$Name){Set-Item -Path $Path -Value $Value} + else{Set-ItemProperty -Path $Path -Name $Name -Value $Value -Type $KeyFormat} + Write-Output "Key set: $Name = $Value" +}catch{ + Write-Error $_ +} + +``` + +Access your organisation's [Intune Admin Center](https://intune.microsoft.com) and when logged in go to **Devices > Monitor > Manage Devices > Scripts and remediations**. +![Scripts and remediations option revealed in the Intune portal](./assets/intune-remediations.png). + +Click on the "Create" button to create a new script package. Fill in the **Basics** step form with name, description and other details and proceed to **Settings**. +On that step upload the scripts in the correct boxes and finish the options on that step with: + +- Run this script using the logged-on credentials (important because the script refers to a registry path under `HKCU` + a.k.a `HKEY_CURRENT_USER`) +- Enforce script signature check: No (unless otherwise required by your company's policies) +- Run script in 64-bit PowerShell: No + +Finally select "Next" and assign "Scope tags" (if used in your company and/or use case) and in the "Assignments" select +the device or user groups as required to reach the intended audience. + +Follow [this guide](https://learn.microsoft.com/en-us/mem/intune/fundamentals/remediations#deploy-the-script-packages) +if you need more detailed views of the steps outlined above. + +At next logon users covered by the assignment will have Intune executing the detection script and the remediation one +if the device is found non-compliant. + +## Remarks + +Careful readers would notice that there is an inherent race condition between setting the registry value and installing +the MSIX (if remotely deployed): when the MSIX is installed the referred registry sub-key is recreated, overwriting any +previous value the remote management solution would have deployed if that happened before the package installation. + +One advantage of Intune Remediation scripts in this scenario is that eventually Intune would find the non-compliant +state and fix it automatically. One disadvantage of that scenario is that the fix doesn't start the UP4W background +agent, i.e. it only enables the startup task, the agent will start at next logon. + +[modeline]: # ( vim: set tw=119: ) diff --git a/docs/howto/index.md b/docs/howto/index.md index 99b055a42..166f916f2 100644 --- a/docs/howto/index.md +++ b/docs/howto/index.md @@ -14,4 +14,5 @@ Uninstalling UP4W, Ubuntu WSL apps and WSL Configure the Landscape client with UP4W Set up a Landscape server within WSL Create WSL instances on multiple Windows machines with the Landscape API +Enforce the UP4W background agent startup remotely using the Windows Registry ``` From 333e6be6b6fa4c1a5361a36255606e2d75036a26 Mon Sep 17 00:00:00 2001 From: Carlos Nihelton Date: Wed, 16 Oct 2024 16:29:45 -0300 Subject: [PATCH 02/11] Rename the startup task TaskId to match the docs More descriptive, making more sense when read in the registry. --- msix/UbuntuProForWSL/Package.appxmanifest | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msix/UbuntuProForWSL/Package.appxmanifest b/msix/UbuntuProForWSL/Package.appxmanifest index cf5204e8d..a868cee76 100644 --- a/msix/UbuntuProForWSL/Package.appxmanifest +++ b/msix/UbuntuProForWSL/Package.appxmanifest @@ -31,7 +31,7 @@ - + From 6d957db7aca415b9086ae6b58ebdf4336869ff49 Mon Sep 17 00:00:00 2001 From: Carlos Nihelton Date: Thu, 17 Oct 2024 10:05:14 -0300 Subject: [PATCH 03/11] Adding some flagship words to the allow list Including - Remediations: most often uncountable, in this case it is a countable word. - Center: mispelled in en_GB, but the portal name is en_US (Intune Admin Center) --- docs/.custom_wordlist.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/.custom_wordlist.txt b/docs/.custom_wordlist.txt index f068fb797..361cb0c8c 100644 --- a/docs/.custom_wordlist.txt +++ b/docs/.custom_wordlist.txt @@ -3,6 +3,8 @@ artifact artifacts autocompletion enablement +Remediations +remediations # Tools and brands apport @@ -13,6 +15,7 @@ Codecov distro distros ESM +Intune macOS MSIX powershell @@ -65,9 +68,11 @@ zshrc ESM Ok scalability +UTF # Registry keys and types DWORD UbuntuPro +UbuntuProAutoStart UbuntuProToken LandscapeConfig From 5dac5e2b04d8ed498d3b26eae206f3b20471d95b Mon Sep 17 00:00:00 2001 From: Carlos Nihelton Date: Wed, 16 Oct 2024 17:11:59 -0300 Subject: [PATCH 04/11] Howto start the agent remotely with Intune and cross reference the other guide. --- docs/howto/assets/intune-platform-scripts.png | Bin 0 -> 63870 bytes ...enforce-agent-startup-remotely-registry.md | 1 + docs/howto/index.md | 1 + docs/howto/start-agent-remotely.md | 73 ++++++++++++++++++ 4 files changed, 75 insertions(+) create mode 100755 docs/howto/assets/intune-platform-scripts.png create mode 100644 docs/howto/start-agent-remotely.md diff --git a/docs/howto/assets/intune-platform-scripts.png b/docs/howto/assets/intune-platform-scripts.png new file mode 100755 index 0000000000000000000000000000000000000000..1b512ef1117a8169d1854279adde5d86a8fc2041 GIT binary patch literal 63870 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 literal 0 HcmV?d00001 diff --git a/docs/howto/enforce-agent-startup-remotely-registry.md b/docs/howto/enforce-agent-startup-remotely-registry.md index f58a1adf8..2d200c93f 100644 --- a/docs/howto/enforce-agent-startup-remotely-registry.md +++ b/docs/howto/enforce-agent-startup-remotely-registry.md @@ -31,6 +31,7 @@ remote management solution capable of deploying MS Store (or MSIX-packaged) appl 5. Windows remote management solutions can monitor that registry key value and proactively fix it, thus enforcing the UP4W startup task to be always enabled. +(howto::enforce-with-intune)= ## Using Intune Remediations Remediations are script packages that can detect and fix common issues on a user's device before they even realise diff --git a/docs/howto/index.md b/docs/howto/index.md index 166f916f2..3c536981b 100644 --- a/docs/howto/index.md +++ b/docs/howto/index.md @@ -15,4 +15,5 @@ Configure the Landscape client with UP4W Set up a Landscape server within WSL Create WSL instances on multiple Windows machines with the Landscape API Enforce the UP4W background agent startup remotely using the Windows Registry +Start the UP4W background agent remotely ``` diff --git a/docs/howto/start-agent-remotely.md b/docs/howto/start-agent-remotely.md new file mode 100644 index 000000000..e3fc1c52b --- /dev/null +++ b/docs/howto/start-agent-remotely.md @@ -0,0 +1,73 @@ +# How to start the agent remotely + +Ubuntu Pro for WSL, being a Microsoft Store application, cannot ship user services as of the time of this writing (late +2024), but can deploy startup tasks instead, programs that run with user permissions when the said user logs on the +Windows device. The UP4W background agent runs as a startup task. By design a startup task is only enabled by the +operating system when the user interacts with the application for the first time. While this behaviour is a feature for +end users it presents a source of friction for deployments at scale, when system administrators expect zero-touch +deployment of UP4W to just work. + +This guide shows how system administrators can leverage Windows remote management solutions to start the agent once +with user credentials, thus interacting with the application in user's behalf. Subsequent logons will have the UP4W +background agent automatically as a consequence of such interaction. + +While this guide uses Intune, readers are expected to translate the steps into any remote management solution of their +choice, as long as the said solution can run scripts with current user's credentials. + +## Pre-requisites + +- At least one managed Windows device. +- A Windows remote management solution. + +## Key takeaways + +1. Running a script as user to start the UP4W background agent makes it immediately available. +2. Remote management solutions can be used to do that. +3. The operating system considers the startup task enabled going forward. +4. Subsequent logons will have the operating system starting the UP4W background agent automatically as expected. + +## Using Intune to run the UP4W background agent + +The contents of the script can be far more elaborate, but for the purposes of this guide the following is enough: + +```powershell +Write-Output "Starting the UP4W background agent remotely from Intune" +ubuntu-pro-agent.exe +``` +**Make sure to save that as UTF-8**, as required by Intune. + +Follow [this section from Intune documentation](https://learn.microsoft.com/en-us/mem/intune/apps/intune-management-extension#create-a-script-policy-and-assign-it) +if you need more detailed step-by-step guide on how to create and assign script policies. + +Access your organisation's [Intune Admin Center](https://intune.microsoft.com) and when logged in go to **Devices > Monitor > Manage Devices > Scripts and remediations**. +On that page, click on the **Platform scripts** tab. +![Platform scripts revealed under Devices > Scripts and remediations](./assets/intune-platform-scripts.png) + +Click on the "Add" button to create a new script policy and select the platform **Windows 10 and later**. + +Fill in the **Basics** form with Name and description for the script being created. + +In the **Settings** tab browse your machine to the PowerShell script to be deployed, and select the following options: +- Run this script using the logged on credentials: Yes (the default). UP4W must run with user credentials. +- Enforce script signature check: No (unless required otherwise by your company's policies) +- Run script in 64-bit PowerShell host: No (the default). + +Apply the "Scope tags" according to your company's practices and, in the "Assignments" make sure to select one or more +groups encompassing the users which must receive and run the script. + +You can then monitor for this script execution in the Intune Admin Center. + +When the selected users log on their devices Intune will eventually start the UP4W background agent, a terminal window +will be visible with its regular outputs, which might be a user experience issue. But remember that it will only happen +once. + +## Remarks + +Careful readers might have noticed that if the script is deployed in conjunction with a policy installing the UP4W, it +would be theoretically possible to have the script running before the application gets installed. A more elaborate +solution is required if that scenario is possible, like looping in the script or using a more proactive solution such as +[Intune Remediations](https://learn.microsoft.com/en-us/mem/intune/fundamentals/remediations). + +[This guide](howto::enforce-with-intune) shows how to use that tool to enforce the UP4W startup task state. + +[modeline]: # ( vim: set tw=119: ) From 1be55621edb540e5cd7c1cecca63caa71464848c Mon Sep 17 00:00:00 2001 From: Carlos Nihelton Date: Mon, 21 Oct 2024 10:55:40 -0300 Subject: [PATCH 05/11] Use 'end-user' consistently ... Instead of 'end user'. --- docs/howto/enforce-agent-startup-remotely-registry.md | 4 ++-- docs/howto/start-agent-remotely.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/howto/enforce-agent-startup-remotely-registry.md b/docs/howto/enforce-agent-startup-remotely-registry.md index 2d200c93f..042cb50e7 100644 --- a/docs/howto/enforce-agent-startup-remotely-registry.md +++ b/docs/howto/enforce-agent-startup-remotely-registry.md @@ -4,11 +4,11 @@ Ubuntu Pro for WSL, being a Microsoft Store application, cannot ship user servic 2024), but can deploy startup tasks instead, programs that run with user permissions when the said user logs on the Windows device. The UP4W background agent runs as a startup task. By design a startup task is only enabled by the operating system when the user interacts with the application for the first time. While this behaviour is a feature for -end users it presents a source of friction for deployments at scale, when system administrators expect zero-touch +end-users it presents a source of friction for deployments at scale, when system administrators expect zero-touch deployment of UP4W to just work. This guide shows how sysadmins can use the Windows Registry to enforce the enablement of the UP4W background agent -startup task without depending on the end user interaction. While this guide uses +startup task without depending on end-user interaction. While this guide uses [Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/what-is-intune), it should be reproducible with any remote management solution capable of deploying MS Store (or MSIX-packaged) applications and registry keys. diff --git a/docs/howto/start-agent-remotely.md b/docs/howto/start-agent-remotely.md index e3fc1c52b..4340648d4 100644 --- a/docs/howto/start-agent-remotely.md +++ b/docs/howto/start-agent-remotely.md @@ -4,7 +4,7 @@ Ubuntu Pro for WSL, being a Microsoft Store application, cannot ship user servic 2024), but can deploy startup tasks instead, programs that run with user permissions when the said user logs on the Windows device. The UP4W background agent runs as a startup task. By design a startup task is only enabled by the operating system when the user interacts with the application for the first time. While this behaviour is a feature for -end users it presents a source of friction for deployments at scale, when system administrators expect zero-touch +end-users it presents a source of friction for deployments at scale, when system administrators expect zero-touch deployment of UP4W to just work. This guide shows how system administrators can leverage Windows remote management solutions to start the agent once From 29582dff6e6a7e1909457f23dd625b1a09a0fbd0 Mon Sep 17 00:00:00 2001 From: Carlos Nihelton Date: Mon, 21 Oct 2024 10:58:50 -0300 Subject: [PATCH 06/11] Some intro fixes for more fluidity. --- docs/howto/enforce-agent-startup-remotely-registry.md | 6 +++--- docs/howto/start-agent-remotely.md | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/howto/enforce-agent-startup-remotely-registry.md b/docs/howto/enforce-agent-startup-remotely-registry.md index 042cb50e7..d1ca0880e 100644 --- a/docs/howto/enforce-agent-startup-remotely-registry.md +++ b/docs/howto/enforce-agent-startup-remotely-registry.md @@ -1,8 +1,8 @@ # How to enforce the UP4W background agent startup remotely using the Windows Registry -Ubuntu Pro for WSL, being a Microsoft Store application, cannot ship user services as of the time of this writing (late -2024), but can deploy startup tasks instead, programs that run with user permissions when the said user logs on the -Windows device. The UP4W background agent runs as a startup task. By design a startup task is only enabled by the +Ubuntu Pro for WSL, being a Microsoft Store application, cannot ship user services as of the time of writing (late +2024), but can deploy startup tasks instead, programs that run with user permissions when the user logs into the +Windows device. The UP4W background agent runs as a startup task, which is only enabled by the operating system when the user interacts with the application for the first time. While this behaviour is a feature for end-users it presents a source of friction for deployments at scale, when system administrators expect zero-touch deployment of UP4W to just work. diff --git a/docs/howto/start-agent-remotely.md b/docs/howto/start-agent-remotely.md index 4340648d4..ffdc62a73 100644 --- a/docs/howto/start-agent-remotely.md +++ b/docs/howto/start-agent-remotely.md @@ -1,8 +1,8 @@ # How to start the agent remotely -Ubuntu Pro for WSL, being a Microsoft Store application, cannot ship user services as of the time of this writing (late -2024), but can deploy startup tasks instead, programs that run with user permissions when the said user logs on the -Windows device. The UP4W background agent runs as a startup task. By design a startup task is only enabled by the +Ubuntu Pro for WSL, being a Microsoft Store application, cannot ship user services as of the time of writing (late +2024), but can deploy startup tasks instead, programs that run with user permissions when the user logs into the +Windows device. The UP4W background agent runs as a startup task, which is only enabled by the operating system when the user interacts with the application for the first time. While this behaviour is a feature for end-users it presents a source of friction for deployments at scale, when system administrators expect zero-touch deployment of UP4W to just work. From 6e3fea204ce07097c4f6d132759a37f7debb4e7c Mon Sep 17 00:00:00 2001 From: Carlos Nihelton Date: Mon, 21 Oct 2024 10:59:42 -0300 Subject: [PATCH 07/11] Remove the modelines --- docs/howto/enforce-agent-startup-remotely-registry.md | 1 - docs/howto/start-agent-remotely.md | 1 - 2 files changed, 2 deletions(-) diff --git a/docs/howto/enforce-agent-startup-remotely-registry.md b/docs/howto/enforce-agent-startup-remotely-registry.md index d1ca0880e..0d385e051 100644 --- a/docs/howto/enforce-agent-startup-remotely-registry.md +++ b/docs/howto/enforce-agent-startup-remotely-registry.md @@ -115,4 +115,3 @@ One advantage of Intune Remediation scripts in this scenario is that eventually state and fix it automatically. One disadvantage of that scenario is that the fix doesn't start the UP4W background agent, i.e. it only enables the startup task, the agent will start at next logon. -[modeline]: # ( vim: set tw=119: ) diff --git a/docs/howto/start-agent-remotely.md b/docs/howto/start-agent-remotely.md index ffdc62a73..05db4fd20 100644 --- a/docs/howto/start-agent-remotely.md +++ b/docs/howto/start-agent-remotely.md @@ -70,4 +70,3 @@ solution is required if that scenario is possible, like looping in the script or [This guide](howto::enforce-with-intune) shows how to use that tool to enforce the UP4W startup task state. -[modeline]: # ( vim: set tw=119: ) From c4618b28121caa73327d18dcf77181fa058e6dec Mon Sep 17 00:00:00 2001 From: Carlos Nihelton Date: Mon, 21 Oct 2024 11:18:27 -0300 Subject: [PATCH 08/11] Applied code review suggestions for more fluid ... ... Enforcing with Intune & Registry guide. --- ...enforce-agent-startup-remotely-registry.md | 43 +++++++++---------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/docs/howto/enforce-agent-startup-remotely-registry.md b/docs/howto/enforce-agent-startup-remotely-registry.md index 0d385e051..f4c533d86 100644 --- a/docs/howto/enforce-agent-startup-remotely-registry.md +++ b/docs/howto/enforce-agent-startup-remotely-registry.md @@ -21,24 +21,23 @@ remote management solution capable of deploying MS Store (or MSIX-packaged) appl ## Key takeaways 1. The registry path `"HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\CanonicalGroupLimited.UbuntuPro_79rhkp1fndgsc"` - holds configuration information specific about UP4W and it's created (and overwritten if it already exists) when the - MSIX package is installed. -2. Under that, a sub-key named `UbuntuProAutoStart` governs the startup task state. + holds configuration information specific about UP4W and is created or overwritten when the MSIX package is + installed. +2. A sub-key named `UbuntuProAutoStart` governs the startup task state. 3. Setting the DWORD value named `State` to `4` makes the operating system interpret it as ["Enabled by Policy"](https://learn.microsoft.com/en-us/uwp/api/windows.applicationmodel.startuptaskstate). -4. The next time the user logs on the Windows device, the OS will execute the UP4W startup task (whether had the user - interacted with the application or not). -5. Windows remote management solutions can monitor that registry key value and proactively fix it, thus enforcing the +4. When the user logs in, Windows executes the UP4W startup task, even if the user has not interacted with the application. +5. A Windows remote management solution can monitor that registry key value and proactively fix it, thus enforcing the UP4W startup task to be always enabled. (howto::enforce-with-intune)= ## Using Intune Remediations -Remediations are script packages that can detect and fix common issues on a user's device before they even realise +Remediations are script packages that can detect and fix common issues on a user's device before they realise there's a problem. Each script package consists of a detection script, a remediation script, and metadata. Through -Intune, you can deploy these script packages and see reports on their effectiveness. +Intune, you can deploy these script packages and monitor reports of their effectiveness. [Visit the Microsoft Intune documentation](https://learn.microsoft.com/en-us/mem/intune/fundamentals/remediations) -to learn more about it. Those scripts run on a predefined schedule and if the detection script reports a failure (by +to learn more. Those scripts run on a predefined schedule and if the detection script reports a failure (by `exit 1`) then the remediation script will run. That allows system administrators to watch for the specific Registry key value that represents the enablement of the UP4W background agent startup task. The contents of both scripts are presented below. **Make sure to save them encoded in UTF-8**, as required by Intune. @@ -88,30 +87,30 @@ try{ Access your organisation's [Intune Admin Center](https://intune.microsoft.com) and when logged in go to **Devices > Monitor > Manage Devices > Scripts and remediations**. ![Scripts and remediations option revealed in the Intune portal](./assets/intune-remediations.png). -Click on the "Create" button to create a new script package. Fill in the **Basics** step form with name, description and other details and proceed to **Settings**. -On that step upload the scripts in the correct boxes and finish the options on that step with: +Click on the "Create" button to create a new script package. Fill in the **Basics** form with name, description and other details and proceed to **Settings**. +During that step, upload the scripts in the correct boxes and use the following options: - Run this script using the logged-on credentials (important because the script refers to a registry path under `HKCU` a.k.a `HKEY_CURRENT_USER`) - Enforce script signature check: No (unless otherwise required by your company's policies) - Run script in 64-bit PowerShell: No -Finally select "Next" and assign "Scope tags" (if used in your company and/or use case) and in the "Assignments" select -the device or user groups as required to reach the intended audience. +Finally, select "Next" and assign "Scope tags" (if relevant) and in the "Assignments" select +the device or user groups that are required. Follow [this guide](https://learn.microsoft.com/en-us/mem/intune/fundamentals/remediations#deploy-the-script-packages) -if you need more detailed views of the steps outlined above. +if you need more detail on the steps outlined above. -At next logon users covered by the assignment will have Intune executing the detection script and the remediation one -if the device is found non-compliant. +When users covered by the assignment next log in, Intune executes the detection script and then runs the remediation +script if the device is found to be non-compliant. ## Remarks -Careful readers would notice that there is an inherent race condition between setting the registry value and installing -the MSIX (if remotely deployed): when the MSIX is installed the referred registry sub-key is recreated, overwriting any -previous value the remote management solution would have deployed if that happened before the package installation. +Careful readers may notice that there is an inherent race condition between setting the registry value and installing +the MSIX (if remotely deployed): when the MSIX is installed the registry sub-key that is referenced is recreated, overwriting any +previous value that the remote management solution would have deployed if that happened before the package installation. -One advantage of Intune Remediation scripts in this scenario is that eventually Intune would find the non-compliant -state and fix it automatically. One disadvantage of that scenario is that the fix doesn't start the UP4W background -agent, i.e. it only enables the startup task, the agent will start at next logon. +An advantage of Intune Remediation scripts in this scenario is that eventually Intune finds the non-compliant +state and fixes it automatically. A potential disadvantage is that the fix doesn't start the UP4W background +agent, The fix enables the startup task and the agent will start at next user login. From 43c463935fa2358780cbf05feb4738e36d5a1f81 Mon Sep 17 00:00:00 2001 From: Carlos Nihelton Date: Mon, 21 Oct 2024 11:30:14 -0300 Subject: [PATCH 09/11] Apply code review suggestions for more fluid ... ... Guide on starting the agent with Intune. --- docs/howto/start-agent-remotely.md | 33 +++++++++++++++--------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/docs/howto/start-agent-remotely.md b/docs/howto/start-agent-remotely.md index 05db4fd20..0860b770d 100644 --- a/docs/howto/start-agent-remotely.md +++ b/docs/howto/start-agent-remotely.md @@ -7,11 +7,11 @@ operating system when the user interacts with the application for the first time end-users it presents a source of friction for deployments at scale, when system administrators expect zero-touch deployment of UP4W to just work. -This guide shows how system administrators can leverage Windows remote management solutions to start the agent once -with user credentials, thus interacting with the application in user's behalf. Subsequent logons will have the UP4W -background agent automatically as a consequence of such interaction. +This guide shows how system administrators can leverage Windows remote management solutions to start the UP4W background agent once +with user credentials, thus interacting with the application on the user's behalf. Subsequent logins will have the UP4W +background agent started automatically as a consequence of the interaction. -While this guide uses Intune, readers are expected to translate the steps into any remote management solution of their +While this guide uses Intune, readers can translate the steps for the remote management solution of their choice, as long as the said solution can run scripts with current user's credentials. ## Pre-requisites @@ -22,9 +22,9 @@ choice, as long as the said solution can run scripts with current user's credent ## Key takeaways 1. Running a script as user to start the UP4W background agent makes it immediately available. -2. Remote management solutions can be used to do that. -3. The operating system considers the startup task enabled going forward. -4. Subsequent logons will have the operating system starting the UP4W background agent automatically as expected. +2. Remote management solutions can be used to start the agent. +3. The startup task is then also enabled on the operating system. +4. On subsequent logins, the UP4W background agent starts automatically, as expected. ## Using Intune to run the UP4W background agent @@ -36,8 +36,10 @@ ubuntu-pro-agent.exe ``` **Make sure to save that as UTF-8**, as required by Intune. +```{note} Follow [this section from Intune documentation](https://learn.microsoft.com/en-us/mem/intune/apps/intune-management-extension#create-a-script-policy-and-assign-it) if you need more detailed step-by-step guide on how to create and assign script policies. +``` Access your organisation's [Intune Admin Center](https://intune.microsoft.com) and when logged in go to **Devices > Monitor > Manage Devices > Scripts and remediations**. On that page, click on the **Platform scripts** tab. @@ -45,21 +47,20 @@ On that page, click on the **Platform scripts** tab. Click on the "Add" button to create a new script policy and select the platform **Windows 10 and later**. -Fill in the **Basics** form with Name and description for the script being created. +Fill in the **Basics** form with a name and description for the script being created. -In the **Settings** tab browse your machine to the PowerShell script to be deployed, and select the following options: +In the **Settings** tab, browse your machine to the PowerShell script to be deployed, and select the following options: - Run this script using the logged on credentials: Yes (the default). UP4W must run with user credentials. -- Enforce script signature check: No (unless required otherwise by your company's policies) +- Enforce script signature check: No (unless required otherwise by your company's policies). - Run script in 64-bit PowerShell host: No (the default). -Apply the "Scope tags" according to your company's practices and, in the "Assignments" make sure to select one or more -groups encompassing the users which must receive and run the script. +Apply the "Scope tags" according to your company's practices and, in "Assignments" make sure to select one or more +groups encompassing the users that must receive and run the script. -You can then monitor for this script execution in the Intune Admin Center. +You can then monitor the execution of this script in the Intune Admin Center. -When the selected users log on their devices Intune will eventually start the UP4W background agent, a terminal window -will be visible with its regular outputs, which might be a user experience issue. But remember that it will only happen -once. +When the selected users log in to their devices, Intune will eventually start the UP4W background agent. A terminal window +will appear to the user showing its regular outputs. This will only happen once. ## Remarks From 2fe8b1fbe89098f2ef2838e9434e7eaabb096cae Mon Sep 17 00:00:00 2001 From: Carlos Nihelton Date: Mon, 21 Oct 2024 11:31:01 -0300 Subject: [PATCH 10/11] 'Overview' over 'Key takeaways' --- docs/howto/enforce-agent-startup-remotely-registry.md | 2 +- docs/howto/start-agent-remotely.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/howto/enforce-agent-startup-remotely-registry.md b/docs/howto/enforce-agent-startup-remotely-registry.md index f4c533d86..431bb468d 100644 --- a/docs/howto/enforce-agent-startup-remotely-registry.md +++ b/docs/howto/enforce-agent-startup-remotely-registry.md @@ -18,7 +18,7 @@ remote management solution capable of deploying MS Store (or MSIX-packaged) appl - A Windows remote management solution. - If using Intune, an Enterprise E3 or E5 or Education A3 or A5 licenses. -## Key takeaways +## Overview 1. The registry path `"HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\CanonicalGroupLimited.UbuntuPro_79rhkp1fndgsc"` holds configuration information specific about UP4W and is created or overwritten when the MSIX package is diff --git a/docs/howto/start-agent-remotely.md b/docs/howto/start-agent-remotely.md index 0860b770d..ec1982391 100644 --- a/docs/howto/start-agent-remotely.md +++ b/docs/howto/start-agent-remotely.md @@ -19,7 +19,7 @@ choice, as long as the said solution can run scripts with current user's credent - At least one managed Windows device. - A Windows remote management solution. -## Key takeaways +## Overview 1. Running a script as user to start the UP4W background agent makes it immediately available. 2. Remote management solutions can be used to start the agent. From 6211dbabd62e2116fabebdba0181320793e1f7ab Mon Sep 17 00:00:00 2001 From: Carlos Nihelton Date: Mon, 21 Oct 2024 11:32:02 -0300 Subject: [PATCH 11/11] Separate the scripts in sections For better searchability. Now a heading for the action of applying the scripts is needed. --- docs/howto/enforce-agent-startup-remotely-registry.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/howto/enforce-agent-startup-remotely-registry.md b/docs/howto/enforce-agent-startup-remotely-registry.md index 431bb468d..28053209e 100644 --- a/docs/howto/enforce-agent-startup-remotely-registry.md +++ b/docs/howto/enforce-agent-startup-remotely-registry.md @@ -42,7 +42,7 @@ to learn more. Those scripts run on a predefined schedule and if the detection s key value that represents the enablement of the UP4W background agent startup task. The contents of both scripts are presented below. **Make sure to save them encoded in UTF-8**, as required by Intune. -Detection script: +### Detection script ```powershell $Path = "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\CanonicalGroupLimited.UbuntuPro_79rhkp1fndgsc\UbuntuProAutoStart" @@ -64,7 +64,7 @@ Catch { } ``` -Remediation script: +### Remediation script ```powershell $Path = "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\CanonicalGroupLimited.UbuntuPro_79rhkp1fndgsc\UbuntuProAutoStart" @@ -84,6 +84,8 @@ try{ ``` +### Running the scripts with Intune + Access your organisation's [Intune Admin Center](https://intune.microsoft.com) and when logged in go to **Devices > Monitor > Manage Devices > Scripts and remediations**. ![Scripts and remediations option revealed in the Intune portal](./assets/intune-remediations.png).