You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/appxapps.md
+6-5Lines changed: 6 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,14 +10,15 @@ layout: doc
10
10
In this default mode, the script includes an explicit list of applications that it will keep, including packages that cannot be removed or are frameworks (packages that support other applications). **All other application packages will be removed**.
11
11
12
12
This mode should be run in [Windows OOBE](https://learn.microsoft.com/en-us/windows-hardware/customize/desktop/customize-oobe-in-windows-11) (1) (i.e. via Windows Autopilot or Device provisioning) or in a gold image, where the intention it to optimise the Windows installation by keeping only a core set of applications that provide valuable features to end-users.
13
-
{ .annotate }
14
13
15
-
1. Windows OOBE stands for Windows Out-of-Box Experience. It's the setup process that occurs when you turn on a new Windows device for the first time or after resetting it to its factory settings. During OOBE, you're guided through various steps to personalize and configure your device, such as: connecting to a Wi-Fi network, setting up device preferences like region, keyboard layout, and privacy settings, and signing in with a Microsoft account.
14
+
::: info
15
+
Windows OOBE stands for Windows Out-of-Box Experience. It's the setup process that occurs when you turn on a new Windows device for the first time or after resetting it to its factory settings. During OOBE, you're guided through various steps to personalize and configure your device, such as: connecting to a Wi-Fi network, setting up device preferences like region, keyboard layout, and privacy settings, and signing in with a Microsoft account.
16
+
:::
16
17
17
18
This allows you to optimise a Windows install or gold image by removing all but a specified list of AppX packages from the the local system to prevent new installs of unwanted apps when new users log onto the system.
18
19
19
20
::: warning
20
-
It is not recommended to run this script on existing Windows PCs, as it will likely remove applications that users are actively using.
21
+
Validate which packages will be removed before running on an existing Windows PC. Removing applications on an existing desktop may remove applications that users rely on. If required, update the **SafePackageList** parameter to avoid removal of required applications.
21
22
:::
22
23
23
24
### Default Packages
@@ -89,7 +90,7 @@ An optional parameter that specifies a targeted list of AppX package family name
89
90
Remove all applications in the current Windows installation except for the default list of applications listed in `-SafePackages`, are non-removable or are package frameworks.
90
91
91
92
```powershell
92
-
PS C:\> .\Remove-AppxApps.ps1
93
+
PS C:\> .\Remove-AppxApps.ps1 -Confirm:$false
93
94
```
94
95
95
96
Remove all applications in the current Windows installation except for those applications passed to `-SafePackages`, are non-removable or are package frameworks.
To use the solution in an operating system deployment pipeline, download the zip file (`defaults.zip`) attached to the [latest release](https://github.com/aaronparker/defaults/releases/latest) and import the extracted files into your OS deployment solution (e.g., the Microsoft Deployment Toolkit, Microsoft Intune, Microsoft Configuration Manager, etc.).
7
+
8
+
The release page also include the solution packaged into a `.intunewin` format ready for import into [Intune](/intune).
9
+
10
+

Copy file name to clipboardExpand all lines: docs/install.md
+4-89Lines changed: 4 additions & 89 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,18 +3,13 @@ layout: doc
3
3
---
4
4
# Installing Defaults
5
5
6
-
## Download the Latest Release
7
-
8
-
To use the solution in an operating system deployment pipeline, download the zip file (`defaults.zip`) attached to the [latest release](https://github.com/aaronparker/defaults/releases/latest) and import the extracted files into your OS deployment solution (e.g., the Microsoft Deployment Toolkit, Microsoft Intune, Microsoft Configuration Manager, etc.).
9
-
10
-

11
-
12
6
## Install
13
7
14
8
Installation of the Windows Enterprise Defaults will depend on where you are running the installation - via the Windows OOBE (1) (with Windows Autopilot or Windows Autopilot device preparation), in an image creation solution, or manually.
15
-
{ .annotate }
16
9
17
-
1. Windows OOBE stands for Windows Out-of-Box Experience. It's the setup process that occurs when you turn on a new Windows device for the first time or after resetting it to its factory settings. During OOBE, you're guided through various steps to personalize and configure your device, such as: connecting to a Wi-Fi network, setting up device preferences like region, keyboard layout, and privacy settings, and signing in with a Microsoft account.
10
+
::: info
11
+
Windows OOBE stands for Windows Out-of-Box Experience. It's the setup process that occurs when you turn on a new Windows device for the first time or after resetting it to its factory settings. During OOBE, you're guided through various steps to personalize and configure your device, such as: connecting to a Wi-Fi network, setting up device preferences like region, keyboard layout, and privacy settings, and signing in with a Microsoft account.
If you're deploying the solution via other tools, e.g. ConfigMgr, MDT or in an image pipeline, run both scripts:
31
26
32
27
```powershell
33
-
.\Remove-AppxApps.ps1
28
+
.\Remove-AppxApps.ps1 -Confirm:$false
34
29
.\Install-Defaults.ps1
35
30
```
36
31
37
-
### Localising Windows
38
-
39
-
`Install-Defaults.ps1` can configure system-wide language / locale settings, and on Windows 10/11 and Windows Server 2025 install language packs. Here's an example installing the English Australia locale settings and language support:
40
-
41
-
```powershell
42
-
.\Install-Defaults.ps1 -Language "en-AU"
43
-
```
44
-
45
-
Use `Install-Defaults.ps1 -Language "<language code>"` to install a language pack and set local settings for a specified language. This parameter supports the **bcp47** tag of the language to install (e.g., `en-AU`, `en-GB`, `fr-FR`). No locale, regional settings or language packs will be installed unless this parameter is specified.
46
-
47
-
This uses the [Install-Language](https://learn.microsoft.com/en-au/powershell/module/languagepackmanagement/install-language) module to install the appropriate language pack. This module is only available on current version of Windows 10, Windows 11 and Windows Server 2025.
48
-
49
-
::: info
50
-
Installation of a language pack on Windows 10 requires a reboot.
51
-
:::
52
-
53
-
Additional locale settings can be configured for any version of Windows 10, Windows 11 and Windows Server 2016+ with the `International` PowerShell module. `Install-Defaults.ps1` will also configure culture, locale, and language settings using the language value specified in `-Language`.
54
-
55
-
Below is a summary of the commands used to configure these settings:
Run `Remove-AppxApps.ps1` before using `Install-Defaults.ps1` to install language packs, otherwise the language pack will be removed.
71
-
:::
72
-
73
-
### Set a Time Zone
74
-
75
-
For Windows 10 and Windows 11, the solution will enable location settings for physical PCs that will automatically se the time zone in most scenarios. However, `Install-Defaults.ps1` can directly set a time zone when specified on the `-TimeZone` parameter. Use `Install-Defaults.ps1 -TimeZone "Time zone name"` to set the required time zone.
76
-
77
-
To view the list of valid time zone names to pass to this parameter, use `Get-TimeZone -ListAvailable`, and use the time zone name on the `Id` property. Localising Windows and setting the appropriate time zone would look like this:
78
-
79
-
```powershell
80
-
.\Install-Defaults.ps1 -Language "en-AU" -TimeZone "AUS Eastern Standard Time"
81
-
```
82
-
83
32
## Detection
84
33
85
34
Once installed, the following registry information can be used to detect that the package is installed:
* Data - `2211.29.129` (the version number of the current release)
90
-
91
-
## Microsoft Intune
92
-
93
-
The solution is also provided in `.intunewin` format to enable direct import into Microsoft Intune without re-packaging.
94
-
95
-
Settings for importing the Windows Enterprise Defaults as a Win32 package into Intune are maintained here: [App.json](https://github.com/aaronparker/defaults/blob/main/App.json). This can be used with the [IntuneWin32AppPackager](https://github.com/MSEndpointMgr/IntuneWin32AppPackager) to automate import into Intune.
96
-
97
-

98
-
99
-
::: info
100
-
To enable support for multiple languages, create multiple Win32 applications with different command lines - one for each required language.
101
-
:::
102
-
103
-
### Enrollment Status Page
104
-
105
-
To ensure the solution applies to a target machine during Windows Autopilot, add the application package to the list of Blocking Apps in the [Enrollment Status Page](https://learn.microsoft.com/en-us/autopilot/enrollment-status).
106
-
107
-

108
-
109
-
## Quick Install
110
-
111
-
::: warning
112
-
Do not use this method on an existing Windows PC. This script will run `Remove-AppxApps.ps1` which will remove AppX / Store apps except for the list specified in the script.
113
-
:::
114
-
115
-
To simplify download and install during an automated image build pipeline, or to install manually into an image, a [quick install script](https://raw.githubusercontent.com/aaronparker/defaults/main/Install.ps1) is provided that can be executed with the following PowerShell:
This will download the latest release in zip format, extract the archive and execute `Install-Defaults.ps1` on the local Windows instance, to install the Windows Enterprise Defaults.
The solution is also provided in `.intunewin` format to enable direct import into Microsoft Intune without re-packaging.
9
+
10
+
Settings for importing the Windows Enterprise Defaults as a Win32 package into Intune are maintained here: [App.json](https://github.com/aaronparker/defaults/blob/main/App.json). This can be used with the [IntuneWin32AppPackager](https://github.com/MSEndpointMgr/IntuneWin32AppPackager) to automate import into Intune.
11
+
12
+
::: info
13
+
To enable support for multiple languages, create multiple Win32 applications with different command lines - one for each required language.
14
+
:::
15
+
16
+

17
+
18
+
### Enrollment Status Page
19
+
20
+
To ensure the solution applies to a target machine during Windows Autopilot, add the application package to the list of Blocking Apps in the [Enrollment Status Page](https://learn.microsoft.com/autopilot/enrollment-status).
21
+
22
+

23
+
24
+
### Detection
25
+
26
+
Once installed, the following registry information can be used to detect that the package is installed:
* Data - `2211.29.129` (the version number of the current release)
31
+
32
+
## Platform Script
33
+
34
+
`Remove-AppxApps.ps1` can be run as a standalone script, seperate from the rest of the solution. This script can be deployed from Intune as a [platform script](https://learn.microsoft.com/intune/intune-service/apps/powershell-scripts); however, you will need to first edit the script to enable it to run.
35
+
36
+
The `ConfirmImpact` property must be changed from `High` to `Low` - edit this on line 38 in the script:
`Install-Defaults.ps1` can configure system-wide language / locale settings, and on Windows 10/11 and Windows Server 2025 install language packs. Here's an example installing the English Australia locale settings and language support:
7
+
8
+
```powershell
9
+
.\Install-Defaults.ps1 -Language "en-AU"
10
+
```
11
+
12
+
Use `Install-Defaults.ps1 -Language "<language code>"` to install a language pack and set local settings for a specified language. This parameter supports the **bcp47** tag of the language to install (e.g., `en-AU`, `en-GB`, `fr-FR`). No locale, regional settings or language packs will be installed unless this parameter is specified.
13
+
14
+
This uses the [Install-Language](https://learn.microsoft.com/en-au/powershell/module/languagepackmanagement/install-language) module to install the appropriate language pack. This module is only available on current version of Windows 10, Windows 11 and Windows Server 2025.
15
+
16
+
::: info
17
+
Installation of a language pack on Windows 10 requires a reboot.
18
+
:::
19
+
20
+
Additional locale settings can be configured for any version of Windows 10, Windows 11 and Windows Server 2016+ with the `International` PowerShell module. `Install-Defaults.ps1` will also configure culture, locale, and language settings using the language value specified in `-Language`.
21
+
22
+
Below is a summary of the commands used to configure these settings:
Run `Remove-AppxApps.ps1` before using `Install-Defaults.ps1` to install language packs, otherwise the language pack will be removed.
38
+
:::
39
+
40
+
# Set a Time Zone
41
+
42
+
For Windows 10 and Windows 11, the solution will enable location settings for physical PCs that will automatically se the time zone in most scenarios. However, `Install-Defaults.ps1` can directly set a time zone when specified on the `-TimeZone` parameter. Use `Install-Defaults.ps1 -TimeZone "Time zone name"` to set the required time zone.
43
+
44
+
To view the list of valid time zone names to pass to this parameter, use `Get-TimeZone -ListAvailable`, and use the time zone name on the `Id` property. Localising Windows and setting the appropriate time zone would look like this:
45
+
46
+
```powershell
47
+
.\Install-Defaults.ps1 -Language "en-AU" -TimeZone "AUS Eastern Standard Time"
Do not use this method on an existing Windows PC. This script will run `Remove-AppxApps.ps1` which will remove AppX / Store apps except for the list specified in the script.
8
+
:::
9
+
10
+
To simplify download and install during an automated image build pipeline, or to install manually into an image, a [quick install script](https://raw.githubusercontent.com/aaronparker/defaults/main/Install.ps1) is provided that can be executed with the following PowerShell:
This will download the latest release in zip format, extract the archive and execute `Install-Defaults.ps1` on the local Windows instance, to install the Windows Enterprise Defaults.
0 commit comments