From 08b09d9dea47c0ab86a19021d49334cc0d918d91 Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Tue, 9 Jul 2024 13:29:15 -0600 Subject: [PATCH] Provisioning packages freshness --- .../diagnose-provisioning-packages.md | 10 +- ...can-use-configuration-service-providers.md | 136 +----------------- .../provisioning-packages/images/ICD.png | Bin 60464 -> 29688 bytes .../provision-pcs-for-initial-deployment.md | 69 ++++----- .../provision-pcs-with-apps.md | 95 ++++-------- .../provisioning-apply-package.md | 29 +--- .../provisioning-command-line.md | 27 +--- .../provisioning-create-package.md | 93 +++++------- .../provisioning-how-it-works.md | 24 +--- .../provisioning-install-icd.md | 49 +++---- .../provisioning-multivariant.md | 97 +++++-------- .../provisioning-packages.md | 122 +++++++--------- .../provisioning-powershell.md | 32 +---- .../provisioning-script-to-install-app.md | 32 ++--- .../provisioning-uninstall-package.md | 61 ++++---- .../provisioning-packages/toc.yml | 48 ++++--- 16 files changed, 294 insertions(+), 630 deletions(-) diff --git a/windows/configuration/provisioning-packages/diagnose-provisioning-packages.md b/windows/configuration/provisioning-packages/diagnose-provisioning-packages.md index 53a0f7861e..dc6121f2d9 100644 --- a/windows/configuration/provisioning-packages/diagnose-provisioning-packages.md +++ b/windows/configuration/provisioning-packages/diagnose-provisioning-packages.md @@ -2,7 +2,7 @@ title: Diagnose Provisioning Packages description: Diagnose general failures in provisioning. ms.topic: troubleshooting -ms.date: 01/18/2023 +ms.date: 07/09/2024 --- # Diagnose Provisioning Packages @@ -11,22 +11,20 @@ This article helps diagnose common issues with applying provisioning packages. Y ## Unable to apply power settings -When applying a provisioning package (PPKG) containing power settings, elevated permissions are required. Because elevated permissions are required, power settings applied using the user context after the [initial setup](/windows/configuration/provisioning-packages/provisioning-apply-package#after-initial-setup) results in the error `STATUS_PRIVILEGE_NOT_HELD (HRESULT=0xc0000061)` because an incorrect security context was used. +When you apply a provisioning package (PPKG) containing power settings, elevated permissions are required. Because elevated permissions are required, power settings applied using the user context after the [initial setup](/windows/configuration/provisioning-packages/provisioning-apply-package#after-initial-setup) results in the error `STATUS_PRIVILEGE_NOT_HELD (HRESULT=0xc0000061)` because an incorrect security context was used. To apply the power settings successfully with the [correct security context](/windows/win32/services/localsystem-account), place the PPKG in `%WINDIR%/Provisioning/Packages` directory, and reboot the device. For more information, see [Configure power settings](/windows-hardware/customize/power-settings/configure-power-settings). - - ## Unable to perform bulk enrollment in Microsoft Entra ID -When [enrolling devices into Microsoft Entra ID using provisioning packages](https://techcommunity.microsoft.com/t5/intune-customer-success/bulk-join-a-windows-device-to-azure-ad-and-microsoft-endpoint/ba-p/2381400), the bulk token request is rejected, if the user requesting a bulk token isn't authorized to grant application consent. For more information, see [Configure how users consent to applications](/azure/active-directory/manage-apps/configure-user-consent). +When you [enroll devices into Microsoft Entra ID using provisioning packages](https://techcommunity.microsoft.com/t5/intune-customer-success/bulk-join-a-windows-device-to-azure-ad-and-microsoft-endpoint/ba-p/2381400), the bulk token request is rejected, if the user requesting a bulk token isn't authorized to grant application consent. For more information, see [Configure how users consent to applications](/azure/active-directory/manage-apps/configure-user-consent). > [!NOTE] > When obtaining the bulk token, you should select "No, sign in to this app only" when prompted for authentication. If you select "OK" instead without also selecting "Allow my organization to manage my device", the bulk token request might be rejected. ## Unable to apply a multivariant provisioning package -When applying a [multivariant package](/windows/configuration/provisioning-packages/provisioning-multivariant), it might be difficult to diagnose why a certain target didn't get applied. There may have been improperly authored conditions that didn't evaluate as expected. +When you apply a [multivariant package](/windows/configuration/provisioning-packages/provisioning-multivariant), it might be difficult to diagnose why a certain target didn't get applied. There may be improperly authored conditions that didn't evaluate as expected. Starting in Windows 11, version 22H2, [MdmDiagnosticsTool](/windows/client-management/diagnose-mdm-failures-in-windows-10) includes multivariant condition values to diagnose problems with multivariant packages to determine why the package wasn't applied. diff --git a/windows/configuration/provisioning-packages/how-it-pros-can-use-configuration-service-providers.md b/windows/configuration/provisioning-packages/how-it-pros-can-use-configuration-service-providers.md index a535175bf7..978aa8fc5b 100644 --- a/windows/configuration/provisioning-packages/how-it-pros-can-use-configuration-service-providers.md +++ b/windows/configuration/provisioning-packages/how-it-pros-can-use-configuration-service-providers.md @@ -2,12 +2,12 @@ title: Configuration service providers for IT pros description: Describes how IT pros and system administrators can use configuration service providers (CSPs) to configure devices. ms.topic: how-to -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- # Configuration service providers for IT pros -This article explains how IT pros and system administrators can take advantage of many settings available through configuration service providers (CSPs) to configure devices running Windows client in their organizations. CSPs expose device configuration settings in Windows client. The CSPs are used by mobile device management (MDM) service providers and are documented in the [Hardware Dev Center](/windows/client-management/mdm/configuration-service-provider-reference). +This article explains how IT pros and system administrators can take advantage of many settings available through configuration service providers (CSPs) to configure devices running Windows client in their organizations. CSPs expose device configuration settings in Windows client. The CSPs are used by mobile device management (MDM) service providers and are documented in the [Configuration Service Provider reference](/windows/client-management/mdm/configuration-service-provider-reference). ## What is a CSP? @@ -15,11 +15,7 @@ In the client operating system, a CSP is the interface between configuration set On the Windows client platform, the management approach for desktop uses CSPs to configure and manage all devices running Windows client. -Each CSP provides access to specific settings. For example, the [Wi-Fi CSP](/windows/client-management/mdm/wifi-csp) contains the settings to create a Wi-Fi profile. - -CSPs are behind many of the management tasks and policies for Windows client, both in Microsoft Intune and in non-Microsoft MDM service providers. For example, in Intune, the policy to allow search suggestions in the Microsoft Edge address bar uses **Browser/AllowSearchSuggestionsinAddressBar** in the [Policy CSP](/windows/client-management/mdm/policy-configuration-service-provider). - -:::image type="content" source="images/policytocsp.png" alt-text="How intune maps to CSP"::: +Each CSP provides access to specific settings. For example, the [Wi-Fi CSP](/windows/client-management/mdm/wifi-csp) contains the settings to create a Wi-Fi profile. CSPs are behind many of the management tasks and policies for Windows client, both in Microsoft Intune and in non-Microsoft MDM service providers. CSPs receive configuration policies in the XML-based Synchronization Markup Language (SyncML) format, pushed from an MDM-compliant management server, such as Microsoft Intune. Traditional enterprise management systems, such as Microsoft Configuration Manager, can also target CSPs, by using a client-side Windows Management Instrumentation (WMI)-to-CSP Bridge. @@ -37,13 +33,13 @@ The WMI-to-CSP Bridge is a component allowing configuration of Windows client CS Generally, enterprises rely on Group Policy or MDM to configure and manage devices. For devices running Windows, MDM services use CSPs to configure your devices. -In addition, you may have unmanaged devices, or a large number of devices that you want to configure before enrolling them in management. You may also want to apply custom settings that aren't available through your MDM service. The [CSP documentation](#bkmk-csp-doc) can help you understand the settings that can be configured or queried. You can also learn about all of the available configuration settings. +In addition, you may have unmanaged devices, or a large number of devices that you want to configure before enrolling them in management. You may also want to apply custom settings that aren't available through your MDM service. The [CSP documentation](/windows/client-management/mdm/configuration-service-provider-reference) can help you understand the settings that can be configured or queried. You can also learn about all of the available configuration settings. ### CSPs in Windows Configuration Designer You can use Windows Configuration Designer to create [provisioning packages](provisioning-packages.md) to apply settings to devices during the out-of-box-experience (OOBE), and after the devices are set up. You can also use provisioning packages to configure a device's connectivity and enroll the device in MDM. Many of the runtime settings in Windows Configuration Designer are based on CSPs. -Many settings in Windows Configuration Designer will display documentation for that setting in the center pane, and will include a reference to the CSP if the setting uses one, as shown in the following image. +Many settings in Windows Configuration Designer display documentation for that setting in the center pane, and include a reference to the CSP if the setting uses one. :::image type="content" source="images/cspinicd.png" alt-text="In Windows Configuration Designer, how help content appears in ICD."::: @@ -51,124 +47,6 @@ Many settings in Windows Configuration Designer will display documentation for t ### CSPs in MDM -Most, if not all, CSPs are surfaced through your MDM service. If you see a CSP that provides a capability that you want to make use of and cannot find that capability in your MDM service, contact your MDM provider for assistance. It might be named differently than you expected. You can see the CSPs supported by MDM in the [Configuration service provider reference](/windows/client-management/mdm/configuration-service-provider-reference). +Most, if not all, CSPs are surfaced through your MDM service. If you see a CSP that provides a capability that you want to make use of and can't find that capability in your MDM service, contact your MDM provider for assistance. It might be named differently than you expected. You can see the CSPs supported by MDM in the [Configuration service provider reference](/windows/client-management/mdm/configuration-service-provider-reference). -When a CSP is available but is not explicitly included in your MDM solution, you may be able to make use of the CSP by using OMA-URI settings. In Intune, for example, you can use [custom policy settings](/mem/intune/configuration/custom-settings-configure) to deploy settings. Intune documents [a partial list of settings](/mem/intune/configuration/custom-settings-windows-10) that you can enter in the **OMA-URI Settings** section of a custom policy, if your MDM service provides that extension. You'll notice that the list doesn't explain the meanings of the allowed and default values, so use the [CSP reference documentation](/windows/client-management/mdm/configuration-service-provider-reference) to locate that information. - -### CSPs in Lockdown XML - -## How do you use the CSP documentation? - -All CSPs are documented in the [Configuration service provider reference](/windows/client-management/mdm/configuration-service-provider-reference). - -The [CSP reference](/windows/client-management/mdm/configuration-service-provider-reference) tells you which CSPs are supported on each edition of Windows, and links to the documentation for each individual CSP. - -:::image type="content" source="images/csptable.png" alt-text="The CSP reference shows the supported Windows editions"::: - -The documentation for each CSP follows the same structure. After an introduction that explains the purpose of the CSP, a diagram shows the parts of the CSP in tree format. - -The full path to a specific configuration setting is represented by its Open Mobile Alliance - Uniform Resource Identifier (OMA-URI). The URI is relative to the devices' root node (MSFT, for example). Features supported by a particular CSP can be set by addressing the complete OMA-URI path. - -The following example shows the diagram for the [AssignedAccess CSP](/windows/client-management/mdm/assignedaccess-csp). The diagram maps to the XML for that CSP. Notice the different shapes in the diagram: rounded elements are nodes, and rectangular elements are settings or policies for which a value must be supplied. - -:::image type="content" source="images/provisioning-csp-assignedaccess.png" alt-text="The CSP reference shows the assigned access CSP tree."::: - -The element in the tree diagram after the root node tells you the name of the CSP. Knowing this structure, you would recognize in XML the parts of the URI path for that CSP and, if you saw it in XML, you would know which CSP reference to look up. For example, in the following OMS-URI path for the kiosk mode app settings, you can see that it uses the [AssignedAccess CSP](/windows/client-management/mdm/assignedaccess-csp). - -```XML -./Vendor/MSFT/AssignedAccess/KioskModeApp -``` - -When an element in the diagram uses _italic_ font, it indicates a placeholder for specific information, such as the tenant ID in the following example. - -:::image type="content" source="images/csp-placeholder.png" alt-text="The placeholder in the CSP tree"::: - -After the diagram, the documentation describes each element. For each policy or setting, the valid values are listed. - -For example, in the [AssignedAccess CSP](/windows/client-management/mdm/assignedaccess-csp), the setting is **KioskModeApp**. The documentation tells you that the value for **KioskModeApp** is a JSON string that contains the user account name and Application User Model ID (AUMID) of the Kiosk mode app. - -The documentation for most CSPs will also include an XML example. - -## CSP examples - -CSPs provide access to many settings useful to enterprises. This section introduces the CSPs that an enterprise might find useful. - -- [Policy CSP](/windows/client-management/mdm/policy-configuration-service-provider) - - The Policy CSP enables the enterprise to configure policies on Windows client. Some of these policy settings can also be applied using Group Policy, and the CSP documentation lists the equivalent Group Policy settings. - - Some of the settings available in the Policy CSP include the following: - - - **Accounts**, such as whether a non-Microsoft account can be added to the device. - - **Application management**, such as whether only Microsoft Store apps are allowed. - - **Bluetooth**, such as the services allowed to use it. - - **Browser**, such as restricting InPrivate browsing. - - **Connectivity**, such as whether the device can be connected to a computer by USB. - - **Defender** (for desktop only), such as day and time to scan. - - **Device lock**, such as the type of PIN or password required to unlock the device. - - **Experience**, such as allowing Cortana. - - **Security**, such as whether provisioning packages are allowed. - - **Settings**, such as enabling the user to change VPN settings. - - **Start**, such as applying a standard Start layout. - - **System**, such as allowing the user to reset the device. - - **Text input**, such as allowing the device to send anonymized user text input data samples to Microsoft. - - **Update**, such as whether the device can use Microsoft Update, Windows Server Update Services (WSUS), or Microsoft Store. - - **WiFi**, such as whether Internet sharing is enabled. - -Here is a list of CSPs supported on Windows 10 Enterprise: - -- [ActiveSync CSP](/windows/client-management/mdm/activesync-csp) -- [Application CSP](/windows/client-management/mdm/application-csp) -- [AppLocker CSP](/windows/client-management/mdm/applocker-csp) -- [AssignedAccess CSP](/windows/client-management/mdm/assignedaccess-csp) -- [Bootstrap CSP](/windows/client-management/mdm/bootstrap-csp) -- [BrowserFavorite CSP](/windows/client-management/mdm/browserfavorite-csp) -- [CellularSettings CSP](/windows/client-management/mdm/cellularsettings-csp) -- [CertificateStore CSP](/windows/client-management/mdm/certificatestore-csp) -- [ClientCertificateInstall CSP](/windows/client-management/mdm/clientcertificateinstall-csp) -- [CM\_CellularEntries CSP](/windows/client-management/mdm/cm-cellularentries-csp) -- [CM\_ProxyEntries CSP](/windows/client-management/mdm/cm-proxyentries-csp) -- [CMPolicy CSP](/windows/client-management/mdm/cmpolicy-csp) -- [Defender CSP](/windows/client-management/mdm/defender-csp) -- [DevDetail CSP](/windows/client-management/mdm/devdetail-csp) -- [DeviceInstanceService CSP](/windows/client-management/mdm/deviceinstanceservice-csp) -- [DeviceLock CSP](/windows/client-management/mdm/devicelock-csp) -- [DeviceStatus CSP](/windows/client-management/mdm/devicestatus-csp) -- [DevInfo CSP](/windows/client-management/mdm/devinfo-csp) -- [DiagnosticLog CSP](/windows/client-management/mdm/diagnosticlog-csp) -- [DMAcc CSP](/windows/client-management/mdm/dmacc-csp) -- [DMClient CSP](/windows/client-management/mdm/dmclient-csp) -- [Email2 CSP](/windows/client-management/mdm/email2-csp) -- [EnterpriseAPN CSP](/windows/client-management/mdm/enterpriseapn-csp) -- [EnterpriseAssignedAccess CSP](/windows/client-management/mdm/enterpriseassignedaccess-csp) -- [EnterpriseDesktopAppManagement CSP](/windows/client-management/mdm/enterprisedesktopappmanagement-csp) -- [EnterpriseExt CSP](/windows/client-management/mdm/enterpriseext-csp) -- [EnterpriseModernAppManagement CSP](/windows/client-management/mdm/enterprisemodernappmanagement-csp) -- [FileSystem CSP](/windows/client-management/mdm/filesystem-csp) -- [HealthAttestation CSP](/windows/client-management/mdm/healthattestation-csp) -- [HotSpot CSP](/windows/client-management/mdm/hotspot-csp) -- [Maps CSP](/windows/client-management/mdm/maps-csp) -- [NAP CSP](/windows/client-management/mdm/filesystem-csp) -- [NAPDEF CSP](/windows/client-management/mdm/napdef-csp) -- [NodeCache CSP](https://go.microsoft.com/fwlink/p/?LinkId=723265) -- [PassportForWork CSP](/windows/client-management/mdm/passportforwork-csp) -- [Policy CSP](/windows/client-management/mdm/policy-configuration-service-provider) -- [PolicyManager CSP](https://go.microsoft.com/fwlink/p/?LinkId=723418) -- [Provisioning CSP](/windows/client-management/mdm/provisioning-csp) -- [Proxy CSP](https://go.microsoft.com/fwlink/p/?LinkId=723372) -- [PXLOGICAL CSP](/windows/client-management/mdm/pxlogical-csp) -- [Registry CSP](/windows/client-management/mdm/registry-csp) -- [RemoteFind CSP](/windows/client-management/mdm/remotefind-csp) -- [RemoteWipe CSP](/windows/client-management/mdm/remotewipe-csp) -- [Reporting CSP](/windows/client-management/mdm/reporting-csp) -- [RootCATrustedCertificates CSP](/windows/client-management/mdm/rootcacertificates-csp) -- [SecurityPolicy CSP](/windows/client-management/mdm/securitypolicy-csp) -- [Storage CSP](/windows/client-management/mdm/storage-csp) -- [SUPL CSP](/windows/client-management/mdm/supl-csp) -- [UnifiedWriteFilter CSP](/windows/client-management/mdm/unifiedwritefilter-csp) -- [Update CSP](/windows/client-management/mdm/update-csp) -- [VPN CSP](/windows/client-management/mdm/vpn-csp) -- [VPNv2 CSP](/windows/client-management/mdm/vpnv2-csp) -- [Wi-Fi CSP](/windows/client-management/mdm/wifi-csp) -- [WindowsLicensing CSP](/windows/client-management/mdm/windowslicensing-csp) -- [WindowsSecurityAuditing CSP](/windows/client-management/mdm/windowssecurityauditing-csp) +When a CSP is available but isn't explicitly included in your MDM solution, you may be able to make use of the CSP by using OMA-URI settings. In Intune, for example, you can use [custom policy settings](/mem/intune/configuration/custom-settings-configure) to deploy settings. Intune documents [a partial list of settings](/mem/intune/configuration/custom-settings-windows-10) that you can enter in the **OMA-URI Settings** section of a custom policy, if your MDM service provides that extension. You'll notice that the list doesn't explain the meanings of the allowed and default values, so use the [CSP reference documentation](/windows/client-management/mdm/configuration-service-provider-reference) to locate that information. diff --git a/windows/configuration/provisioning-packages/images/ICD.png b/windows/configuration/provisioning-packages/images/ICD.png index 9cfcb845dfab04cad5b040a16ec50776fdd81a89..c5525201f1931b84b7680a1f2bf21b91ba940191 100644 GIT binary patch literal 29688 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 Aa{vGU literal 60464 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
UQ^l^bTsAC5OORrJ?X=koH=x(sfA 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 LhZsP_An^YI=}F(l diff --git a/windows/configuration/provisioning-packages/provision-pcs-for-initial-deployment.md b/windows/configuration/provisioning-packages/provision-pcs-for-initial-deployment.md index 97dec0c215..80c1a38048 100644 --- a/windows/configuration/provisioning-packages/provision-pcs-for-initial-deployment.md +++ b/windows/configuration/provisioning-packages/provision-pcs-for-initial-deployment.md @@ -1,63 +1,47 @@ --- -title: Provision PCs with common settings -description: Create a provisioning package to apply common settings to a PC running Windows 10. +title: Create a provisioning package (desktop wizard) +description: Create a provisioning package to apply common settings to a PC running Windows. ms.topic: how-to -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- -# Provision PCs with common settings for initial deployment (desktop wizard) +# Create a provisioning package (desktop wizard) -This topic explains how to create and apply a provisioning package that contains common enterprise settings to a device running all desktop editions of Windows client except Home. +This article explains how to create and apply a provisioning package that contains common enterprise settings to a device running all desktop editions of Windows client except Home. You can apply a provisioning package on a USB drive to off-the-shelf devices during setup, making it fast and easy to configure new devices. -You can apply a provisioning package on a USB drive to off-the-shelf devices during setup, making it fast and easy to configure new devices. +The following wizard options provide a simple interface for configuring common settings for desktop and kiosk devices: -## Advantages +- [Instructions for the desktop wizard](#start-a-new-project) +- [Instructions for the kiosk wizard](../assigned-access/overview.md) +- [Instructions for the HoloLens wizard](/hololens/hololens-provisioning#provisioning-package-hololens-wizard) +- [Instructions for the Surface Hub wizard](/surface-hub/provisioning-packages-for-surface-hub) -- You can configure new devices without reimaging -- Works on desktop devices -- No network connectivity required -- Simple to apply - -[Learn more about the benefits and uses of provisioning packages.](provisioning-packages.md) - -## What does the desktop wizard do? - -The desktop wizard helps you configure the following settings in a provisioning package: +In this example, we use the **Provision desktop devices** option which helps you configure the following settings in a provisioning package: - Set device name - Upgrade product edition - Configure the device for shared use -- Remove pre-installed software +- Remove preinstalled software - Configure Wi-Fi network - Enroll device in Active Directory or Microsoft Entra ID - Create local administrator account - Add applications and certificates ->[!WARNING] ->You must run Windows Configuration Designer on Windows client to configure Microsoft Entra enrollment using any of the wizards. +> [IMPORTANT] +> You must run Windows Configuration Designer on Windows client to configure Microsoft Entra enrollment using any of the wizards. -Provisioning packages can include management instructions and policies, installation of specific apps, customization of network connections and policies, and more. +## Start a new project -> [!TIP] -> Use the desktop wizard to create a package with the common settings, then switch to the advanced editor to add other settings, apps, policies, etc. -> -> :::image type="content" source="images/icd-simple-edit.png" alt-text="In the desktop wizard, open the advanced editor."::: +1. Open Windows Configuration Designer: From either the Start menu or Start menu search, type **Windows Configuration Designer**, and then select the **Windows Configuration Designer** shortcut. -## Create the provisioning package - -Use the Windows Configuration Designer tool to create a provisioning package. [Learn how to install Windows Configuration Designer.](provisioning-install-icd.md) - -1. Open Windows Configuration Designer (by default, %windir%\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Imaging and Configuration Designer\x86\ICD.exe). - -1. Click **Provision desktop devices**. +1. Select **Provision desktop devices**. :::image type="content" source="images/icd-create-options-1703.png" alt-text="In Windows Configuration Designer, see the ICD start options."::: -1. Name your project and click **Finish**. The pages for desktop provisioning will walk you through the following steps. +1. Name your project and select **Finish**. The pages for desktop provisioning walk you through the following steps. :::image type="content" source="images/icd-desktop-1703.png" alt-text="In Windows Configuration Designer, select Finish, and see the ICD desktop provisioning."::: - > [!IMPORTANT] > When you build a provisioning package, you may include sensitive information in the project files and in the provisioning package (.ppkg) file. Although you have the option to encrypt the .ppkg file, project files are not encrypted. You should store the project files in a secure location and delete the project files when they are no longer needed. @@ -74,6 +58,9 @@ Use the Windows Configuration Designer tool to create a provisioning package. [L - **Configure devices for shared use**: Select **Yes** or **No** to optimize the Windows client for shared use scenarios. - **Remove pre-installed software**: Optional. Select **Yes** if you want to remove preinstalled software. + > [!NOTE] + > To target devices running versions earlier than Windows 10, version 2004, ComputerName customization must be defined from the setting path: `Accounts/ComputerAccount/ComputerName` from the advanced editor. The default path from the simple editor uses a new CSP that isn't available on older systems. + 1. Set up the network: :::image type="content" source="images/set-up-network-details-desktop.png" alt-text="In Windows Configuration Designer, turn on wireless connectivity, enter the network SSID, and network type."::: @@ -81,7 +68,7 @@ Use the Windows Configuration Designer tool to create a provisioning package. [L If you want to enable network setup, select **Set up network**, and configure the following settings: - **Set up network**: To enable wireless connectivity, select **On**. - - **Network SSID**: Enter the Service Set IDentifier (SSID) of the network. + - **Network SSID**: Enter the Service Set Identifier (SSID) of the network. - **Network type**: Select **Open** or **WPA2-Personal**. If you select **WPA2-Personal**, enter the password for the wireless network. 1. Enable account management: @@ -91,10 +78,11 @@ Use the Windows Configuration Designer tool to create a provisioning package. [L If you want to enable account management, select **Account Management**, and configure the following settings: - **Manage organization/school accounts**: Choose how devices are enrolled. Your options: + - **Active Directory**: Enter the credentials for a least-privileged user account to join the device to the domain. - **Microsoft Entra ID**: Before you use a Windows Configuration Designer wizard to configure bulk Microsoft Entra enrollment, [set up Microsoft Entra join in your organization](/azure/active-directory/active-directory-azureadjoin-setup). In your Microsoft Entra tenant, the **maximum number of devices per user** setting determines how many times the bulk token in the wizard can be used. - If you select this option, enter a friendly name for the bulk token you get using the wizard. Set an expiration date for the token. The maximum is 180 days from the date you get the token. Select **Get bulk token**. In **Let's get you signed in**, enter an account that has permissions to join a device to Microsoft Entra ID, and then the password. Select **Accept** to give Windows Configuration Designer the necessary permissions. + If you select this option, enter a friendly name for the bulk token retrieved using the wizard. Set an expiration date for the token. The maximum is 180 days from the date you get the token. Select **Get bulk token**. In **Let's get you signed in**, enter an account that has permissions to join a device to Microsoft Entra ID, and then the password. Select **Accept** to give Windows Configuration Designer the necessary permissions. You must run Windows Configuration Designer on Windows client to configure Microsoft Entra enrollment using any of the wizards. @@ -123,6 +111,11 @@ Use the Windows Configuration Designer tool to create a provisioning package. [L - **Protect your package**: Select **Yes** or **No** to password protect your provisioning package. When you apply the provisioning package to a device, you must enter this password. -After you're done, click **Create**. It only takes a few seconds. When the package is built, the location where the package is stored is displayed as a hyperlink at the bottom of the page. +After you're done, select **Create**. It only takes a few seconds. When the package is built, the location where the package is stored is displayed as a hyperlink at the bottom of the page. - **Next step**: [How to apply a provisioning package](provisioning-apply-package.md) +## Next steps + +> [!div class="nextstepaction"] +> Learn more about applying a provisioning package: +> +> [Apply a provisioning package](provisioning-apply-package.md) diff --git a/windows/configuration/provisioning-packages/provision-pcs-with-apps.md b/windows/configuration/provisioning-packages/provision-pcs-with-apps.md index fd7134875e..2052ee0f96 100644 --- a/windows/configuration/provisioning-packages/provision-pcs-with-apps.md +++ b/windows/configuration/provisioning-packages/provision-pcs-with-apps.md @@ -2,21 +2,21 @@ title: Provision PCs with apps description: Learn how to install multiple Universal Windows Platform (UWP) apps and Windows desktop applications (Win32) in a provisioning package. ms.topic: how-to -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- # Provision PCs with apps You can install multiple Universal Windows Platform (UWP) apps and Windows desktop applications (Win32) in a provisioning package. This article explains the various settings in [Windows Configuration Designer](provisioning-install-icd.md) for app install. -When you add an app in a Windows Configuration Designer wizard, the appropriate settings are displayed based on the app that you select. For instructions on adding an app using the advanced editor in Windows Configuration Designer, see [Add an app using advanced editor](#adv). +When you add an app in a Windows Configuration Designer wizard, the appropriate settings are displayed based on the app that you select. For instructions on adding an app using the advanced editor in Windows Configuration Designer, see [Add an app using advanced editor](#add-a-windows-desktop-application-using-advanced-editor). ->[!IMPORTANT] ->If you plan to use Intune to manage your devices, we recommend using Intune to install Microsoft 365 Apps for enterprise 2016 apps (Access, Excel, OneDrive for Business, OneNote, Outlook, PowerPoint, Publisher, Skype for Business, Word, Project Desktop Client, and Visio Pro for Microsoft 365 Apps for enterprise). Apps that are installed using a provisioning package cannot be managed or modified using Intune. [Learn how to assign Microsoft 365 Apps for enterprise 2016 apps using Microsoft Intune.](/intune/apps-add-office365) +> [!IMPORTANT] +> If you plan to use Intune to manage your devices, we recommend using Intune to install Microsoft 365 Apps for enterprise. Apps that are installed using a provisioning package cannot be managed or modified using Intune. [Learn how to add Microsoft 365 Apps to Windows devices with Microsoft Intune.](/intune/apps-add-office365) ## Settings for UWP apps -- **License Path**: Specify the license file if it is an app from the Microsoft Store. This is optional if you have a certificate for the app. +- **License Path**: Specify the license file if it's an app from the Microsoft Store. This is optional if you have a certificate for the app. - **Package family name**: Specify the package family name if you don't specify a license. This field will be autopopulated after you specify a license. - **Required appx dependencies**: Specify the appx dependency packages that are required for the installation of the app @@ -24,32 +24,23 @@ When you add an app in a Windows Configuration Designer wizard, the appropriate ### MSI installer +- **Command line arguments**: Optionally, append more command arguments. The silent flag is appended for you. Example: PROPERTY=VALUE +- **Continue installations after failure**: Optionally, specify if you want to continue installing more apps if this app fails to install +- **Restart required**: Optionally, specify if you want to reboot after a successful install of this app +- **Required win32 app dependencies**: Optionally, specify more files that are required for the installation of the app. For installers that have multiple file dependencies or have directory structures, [create a cab file of the assets](provisioning-script-to-install-app.md#cab-the-application-assets). The installation script should [include expansion of the .cab file](provisioning-script-to-install-app.md#cab-extract). + > [!NOTE] > You can find more information about command-line options for Msiexec.exe [here](/windows/win32/msi/command-line-options). -- **Command line arguments**: Optionally, append more command arguments. The silent flag is appended for you. Example: PROPERTY=VALUE - -- **Continue installations after failure**: Optionally, specify if you want to continue installing more apps if this app fails to install - -- **Restart required**: Optionally, specify if you want to reboot after a successful install of this app - -- **Required win32 app dependencies**: Optionally, specify more files that are required for the installation of the app. For installers that have multiple file dependencies or have directory structures, [create a cab file of the assets](provisioning-script-to-install-app.md#cab-the-application-assets). The installation script should [include expansion of the .cab file](provisioning-script-to-install-app.md#cab-extract). - ### Exe or other installer - **Command line arguments**: Append the command line arguments with a silent flag (required). Optionally, append more flags - -- **Return Codes**: Specify the return codes for success and success with restart (0 and 3010 by default respectively) Any return code that is not listed will be interpreted as failure. The text boxes are space delimited. - +- **Return Codes**: Specify the return codes for success and success with restart (0 and 3010 by default respectively) Any return code that isn't listed is interpreted as failure. The text boxes are space delimited. - **Continue installations after failure**: Optionally, specify if you want to continue installing more apps if this app fails to install - - **Restart required**: Optionally, specify if you want to reboot after a successful install of this app - - **Required win32 app dependencies**: Optionally, specify more files that are required for the installation of the app. For installers that have multiple file dependencies or have directory structures, [create a cab file of the assets](provisioning-script-to-install-app.md#cab-the-application-assets). The installation script should [include expansion of the .cab file](provisioning-script-to-install-app.md#cab-extract). - - -## Add a Windows desktop application using advanced editor in Windows Configuration Designer +## Add a Windows desktop application using advanced editor 1. In the **Available customizations** pane, go to **Runtime settings** > **ProvisioningCommands** > **PrimaryContext** > **Command**. @@ -61,50 +52,32 @@ When you add an app in a Windows Configuration Designer wizard, the appropriate ![enter settings for first app.](images/wcd-app-commands.png) -## Add a universal app to your package +## Add a universal app to your package using advanced editor -Universal apps that you can distribute in the provisioning package can be line-of-business (LOB) apps developed by your organization, Microsoft Store for Business apps that you acquire with [offline licensing](/microsoft-store/acquire-apps-windows-store-for-business), or third-party apps. This procedure will assume you are distributing apps from the Microsoft Store for Business. For other apps, obtain the necessary information (such as the package family name) from the app developer. +Universal apps that you can distribute in the provisioning package can be line-of-business (LOB) apps developed by your organization, Microsoft Store for Business apps that you acquire with [offline licensing](/microsoft-store/acquire-apps-windows-store-for-business), or non-Microsoft apps. This procedure assumes you're distributing apps from the Microsoft Store for Business. For other apps, obtain the necessary information (such as the package family name) from the app developer. 1. In the **Available customizations** pane, go to **Runtime settings** > **UniversalAppInstall**. - 1. For **DeviceContextApp**, specify the **PackageFamilyName** for the app. In Microsoft Store for Business, the package family name is listed in the **Package details** section of the download page. - 1. For **ApplicationFile**, select **Browse** to find and select the target app (either an \*.appx or \*.appxbundle). - 1. For **DependencyAppxFiles**, select **Browse** to find and add any dependencies for the app. In Microsoft Store for Business, any dependencies for the app are listed in the **Required frameworks** section of the download page. - 1. For **DeviceContextAppLicense**, enter the **LicenseProductID**. - - In Microsoft Store for Business, generate the unencoded license for the app on the app's download page. - - - - Open the license file and search for **LicenseID=** to get the GUID, enter the GUID in the **LicenseProductID** field and select **Add**. - - 1. In the **Available customizations** pane, select the **LicenseProductId** that you just added. - 1. For **LicenseInstall**, select **Browse**, navigate to the license file that you renamed *\*.**ms-windows-store-license**, and select the license file. [Learn more about distributing offline apps from the Microsoft Store for Business.](/microsoft-store/distribute-offline-apps) -> [!NOTE] +> [!IMPORTANT] > Removing a provisioning package will not remove any apps installed by device context in that provisioning package. - - ## Add a certificate to your package 1. In the **Available customizations** pane, go to **Runtime settings** > **Certificates** > **ClientCertificates**. - 1. Enter a **CertificateName** and then select **Add**. - 1. Enter the **CertificatePassword**. - 1. For **CertificatePath**, browse and select the certificate to be used. - 1. Set **ExportCertificate** to **False**. - 1. For **KeyLocation**, select **Software only**. ## Add other settings to your package @@ -113,15 +86,15 @@ For details about the settings you can customize in provisioning packages, see [ ## Build your package -1. When you are done configuring the provisioning package, on the **File** menu, select **Save**. +1. After you configure the provisioning package, on the **File** menu, select **Save**. 1. Read the warning that project files may contain sensitive information, and select **OK**. - When you build a provisioning package, you may include sensitive information in the project files and in the provisioning package (.ppkg) file. Although you have the option to encrypt the .ppkg file, project files are not encrypted. You should store the project files in a secure location, and delete the project files when they're no longer needed. + When you build a provisioning package, you may include sensitive information in the project files and in the provisioning package (.ppkg) file. Although you have the option to encrypt the .ppkg file, project files aren't encrypted. Store the project files in a secure location, and delete the project files when they're no longer needed. 1. On the **Export** menu, select **Provisioning package**. -1. Change **Owner** to **IT Admin**, which will set the precedence of this provisioning package higher than provisioning packages applied to this device from other sources, and then select **Next.** +1. Change **Owner** to **IT Admin**, which sets the precedence of this provisioning package higher than provisioning packages applied to this device from other sources, and then select **Next.** 1. Set a value for **Package Version**. @@ -130,8 +103,7 @@ For details about the settings you can customize in provisioning packages, see [ 1. Optional. In the **Provisioning package security** window, you can choose to encrypt the package and enable package signing. - - **Enable package encryption** - If you select this option, an auto-generated password will be shown on the screen. - + - **Enable package encryption** - If you select this option, an autogenerated password is shown on the screen. - **Enable package signing** - If you select this option, you must select a valid certificate to use for signing the package. You can specify the certificate by selecting **Select...** and choosing the certificate you want to use to sign the package. > [!TIP] @@ -145,36 +117,21 @@ For details about the settings you can customize in provisioning packages, see [ 1. Select **Build** to start building the package. The project information is displayed in the build page and the progress bar indicates the build status.

If you need to cancel the build, select **Cancel**. This cancels the current build process, closes the wizard, and takes you back to the **Customizations Page**. -1. If your build fails, an error message will show up that includes a link to the project folder. You can scan the logs to determine what caused the error. Once you fix the issue, try building the package again.

- If your build is successful, the name of the provisioning package, output directory, and project directory will be shown. +1. If your build fails, an error message shows up that includes a link to the project folder. You can scan the logs to determine what caused the error. Once you fix the issue, try building the package again. If your build is successful, the name of the provisioning package, output directory, and project directory is shown. - If you choose, you can build the provisioning package again and pick a different path for the output package. To do this, select **Back** to change the output package name and path, and then select **Next** to start another build. - - - - If you are done, select **Finish** to close the wizard and go back to the **Customizations Page**. + - If you're done, select **Finish** to close the wizard and go back to the **Customizations Page**. 1. Select the **output location** link to go to the location of the package. You can provide that .ppkg to others through any of the following methods: - Shared network folder - - SharePoint site - - Removable media (USB/SD) - - Email -**Next step**: [How to apply a provisioning package](provisioning-apply-package.md) +## Next steps -## Related articles - -- [Provisioning packages for Windows client](provisioning-packages.md) -- [How provisioning works in Windows client](provisioning-how-it-works.md) -- [Install Windows Configuration Designer](provisioning-install-icd.md) -- [Create a provisioning package](provisioning-create-package.md) -- [Apply a provisioning package](provisioning-apply-package.md) -- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md) -- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md) -- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md) -- [PowerShell cmdlets for provisioning Windows client (reference)](provisioning-powershell.md) -- [Windows Configuration Designer command-line interface (reference)](provisioning-command-line.md) -- [Create a provisioning package with multivariant settings](provisioning-multivariant.md) +> [!div class="nextstepaction"] +> Learn more about applying a provisioning package: +> +> [Apply a provisioning package](provisioning-apply-package.md) diff --git a/windows/configuration/provisioning-packages/provisioning-apply-package.md b/windows/configuration/provisioning-packages/provisioning-apply-package.md index 2f8bb266e1..a5e44cee63 100644 --- a/windows/configuration/provisioning-packages/provisioning-apply-package.md +++ b/windows/configuration/provisioning-packages/provisioning-apply-package.md @@ -2,7 +2,7 @@ title: Apply a provisioning package description: Provisioning packages can be applied to a device during initial setup (OOBE) and after (runtime). ms.topic: how-to -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- # Apply a provisioning package @@ -13,22 +13,20 @@ Provisioning packages can be applied to a device during initial setup (out-of-bo > > - Applying a provisioning package to a desktop device requires administrator privileges on the device. > - You can interrupt a long-running provisioning process by pressing ESC. - -> [!TIP] -> In addition to the following methods, you can use the PowerShell cmdlet [Install-ProvisioningPackage](/powershell/module/provisioning/Install-ProvisioningPackage) with `-LogsDirectoryPath` to get logs for the operation. +> - In addition to the following methods, you can use the PowerShell cmdlet [Install-ProvisioningPackage](/powershell/module/provisioning/Install-ProvisioningPackage) with `-LogsDirectoryPath` to get logs for the operation. ## During initial setup To apply a provisioning package from a USB drive during initial setup: -1. Start with a device on the initial setup screen. If the device has gone past this screen, reset the device to start over. To reset, go to **Settings** > **System** > [**Recovery**](ms-settings:recovery) > **Reset this PC**. +1. Start with a device on the initial setup screen. If the device goes past this screen, reset the device to start over. To reset, go to **Settings** > **System** > [**Recovery**](ms-settings:recovery) > **Reset this PC**. :::image type="content" source="images/oobe.png" alt-text="The first screen when setting up a new PC."::: 1. Insert the USB drive. If nothing happens when you insert the USB drive, press the Windows key five times. - If there's only one provisioning package on the USB drive, the provisioning package is applied. See step 5. - - If there's more than one provisioning package on the USB drive, Windows setup recognizes the drive and ask how you want to provision the device. Select **Install provisioning package** and select **Next**. + - If there's more than one provisioning package on the USB drive, Windows setup recognizes the drive and asks how you want to provision the device. Select **Install provisioning package** and select **Next**. :::image type="content" source="images/provisioning-oobe-choice.png" alt-text="What would you like to do?"::: @@ -36,11 +34,11 @@ To apply a provisioning package from a USB drive during initial setup: :::image type="content" source="images/provisioning-oobe-choose-package.png" alt-text="Choose a package."::: -1. The selected provisioning package will install and apply to the device. +1. The selected provisioning package is applied to the device. :::image type="content" source="images/provisioning-oobe-installing.png" alt-text="Setting up your PC."::: -1. Wait for the device to load and begin applying the provisioning package. Once you see "You can remove your removable media now!" you can remove your USB drive. Windows will continue provisioning the device. +1. Wait for the device to load and begin applying the provisioning package. After you see "You can remove your removable media now!" you can remove your USB drive. Windows continues to provision the device. ## After initial setup @@ -60,7 +58,7 @@ Provisioning packages can be applied after initial setup through Windows setting :::image type="content" source="images/provisioning-runtime-add-package.png" alt-text="Select and add a package."::: -1. Provisioning packages require administrator privileges as they can modify system policies and run scripts at the system level. Ensure you trust the package you're installing before accepting the UAC prompt. Select **Yes**. +1. Provisioning packages require administrator privileges as they can modify system policies and run scripts at the system level. Ensure you trust the package you're installing before accepting the User Account Control (UAC) prompt. Select **Yes**. :::image type="content" source="images/provisioning-runtime-UAC.png" alt-text="Do you want to allow changes to your device?"::: @@ -83,16 +81,3 @@ To apply a provisioning package directly, such as from a USB drive, folder, netw 1. The provisioning runtime asks if the package is from a source you trust. Verify that you're applying the correct package and that it's trusted. Select **Yes, add it**. :::image type="content" source="images/provisioning-runtime-trust.png" alt-text="Do you trust this package?"::: - -## Related articles - -- [Provisioning packages for Windows client](provisioning-packages.md) -- [How provisioning works in Windows client](provisioning-how-it-works.md) -- [Install Windows Configuration Designer](provisioning-install-icd.md) -- [Create a provisioning package](provisioning-create-package.md) -- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md) -- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md) -- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md) -- [PowerShell cmdlets for provisioning Windows client (reference)](provisioning-powershell.md) -- [Windows Configuration Designer command-line interface (reference)](provisioning-command-line.md) -- [Create a provisioning package with multivariant settings](provisioning-multivariant.md) diff --git a/windows/configuration/provisioning-packages/provisioning-command-line.md b/windows/configuration/provisioning-packages/provisioning-command-line.md index 12a10ae502..5ff3a5cf1d 100644 --- a/windows/configuration/provisioning-packages/provisioning-command-line.md +++ b/windows/configuration/provisioning-packages/provisioning-command-line.md @@ -1,20 +1,17 @@ --- title: Windows Configuration Designer command line interface -description: Learn more about the ICD syntax, switches, and arguments that you can use in the Windows Configuration Designer command line interface for Windows10/11 client devices. +description: Learn more about the ICD syntax, switches, and arguments that you can use in the Windows Configuration Designer command line interface for Windows devices. ms.topic: how-to -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- -# Windows Configuration Designer command line interface (reference) +# Windows Configuration Designer command line interface You can use the Windows Configuration Designer command line interface (CLI) to automate the building of provisioning packages. - IT pros can use the Windows Configuration Designer CLI to require less retooling of existing processes. You must run the Windows Configuration Designer CLI from a command window with administrator privileges. - - You must use the Windows Configuration Designer CLI and edit the customizations.xml sources to create a provisioning package with multivariant support. You need the customizations.xml file as one of the inputs to the Windows Configuration Designer CLI to build a provisioning package. For more information, see [Create a provisioning package with multivariant settings](provisioning-multivariant.md). - - ## Syntax ``` cmd @@ -29,25 +26,9 @@ icd.exe /Build-ProvisioningPackage /CustomizationXML: /PackagePath: | Switch | Required? | Arguments | | --- | --- | --- | | /CustomizationXML | No | Specifies the path to a Windows provisioning XML file that contains the customization assets and settings. For more information, see Windows provisioning answer file. | -| /PackagePath | Yes | Specifies the path and the package name where the built provisioning package will be saved. | +| /PackagePath | Yes | Specifies the path and the package name where the built provisioning package is saved. | | /StoreFile | No


See Important note. | For partners using a settings store other than the default store(s) used by Windows Configuration Designer, use this parameter to specify the path to one or more comma-separated Windows settings store file. By default, if you don't specify a settings store file, the settings store that's common to all Windows editions is loaded by Windows Configuration Designer.


**Important** If you use this parameter, you must not use /MSPackageRoot or /OEMInputXML. | | /Variables | No | Specifies a semicolon separated `` and `` macro pair. The format for the argument must be `=`. | | Encrypted | No | Denotes whether the provisioning package should be built with encryption. Windows Configuration Designer autogenerates the decryption password and includes this information in the output.

Precede with `+` for encryption, or `-` for no encryption. The default is no encryption. | | Overwrite | No | Denotes whether to overwrite an existing provisioning package.

Precede with + to overwrite an existing package or - if you don't want to overwrite an existing package. The default is false (don't overwrite). | | /? | No | Lists the switches and their descriptions for the command-line tool or for certain commands. | - - -## Related articles - -- [Provisioning packages for Windows client](provisioning-packages.md) -- [How provisioning works in Windows client](provisioning-how-it-works.md) -- [Install Windows Configuration Designer](provisioning-install-icd.md) -- [Create a provisioning package](provisioning-create-package.md) -- [Apply a provisioning package](provisioning-apply-package.md) -- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md) -- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md) -- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md) -- [PowerShell cmdlets for provisioning Windows client (reference)](provisioning-powershell.md) -- [Create a provisioning package with multivariant settings](provisioning-multivariant.md) - - diff --git a/windows/configuration/provisioning-packages/provisioning-create-package.md b/windows/configuration/provisioning-packages/provisioning-create-package.md index 0824710f19..b239dfb3d5 100644 --- a/windows/configuration/provisioning-packages/provisioning-create-package.md +++ b/windows/configuration/provisioning-packages/provisioning-create-package.md @@ -1,16 +1,14 @@ --- -title: Create a provisioning package -description: Learn how to create a provisioning package for Windows 10/11, which lets you quickly configure a device without having to install a new image. +title: Create a provisioning package (advanced) +description: Learn how to create a provisioning package for Windows, which lets you quickly configure a device without having to install a new image. ms.topic: how-to -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- -# Create a provisioning package +# Create a provisioning package (advanced) You can use Windows Configuration Designer to create a provisioning package (`.ppkg`) that contains customization settings, and then apply the provisioning package to a device running Windows client. ->[Learn how to install Windows Configuration Designer.](provisioning-install-icd.md) - > [!TIP] > We recommend creating a local admin account when you develop and test your provisioning package. We also recommend using a *least privileged* domain user account to join devices to the Active Directory domain. @@ -18,29 +16,14 @@ You can use Windows Configuration Designer to create a provisioning package (`.p 1. Open Windows Configuration Designer: From either the Start menu or Start menu search, type **Windows Configuration Designer**, and then select the **Windows Configuration Designer** shortcut. -1. Select your desired option on the **Start** page, which offers multiple options for creating a provisioning package, as shown in the following image: +1. Select **Advanced provisioning** on the start page, which offers multiple options for creating a provisioning package, as shown in the following image: ![Configuration Designer wizards.](images/icd-create-options-1703.png) - - The following wizard options provide a simple interface for configuring common settings for desktop and kiosk devices: - - - [Instructions for the desktop wizard](provision-pcs-for-initial-deployment.md) - - [Instructions for the kiosk wizard](../kiosk-single-app.md#wizard) - - [Instructions for HoloLens wizard](/hololens/hololens-provisioning) - - [Instructions for Surface Hub wizard](/surface-hub/provisioning-packages-for-surface-hub) - - Wizards are also available for creating provisioning packages for Microsoft Surface Hub and Microsoft HoloLens devices. For a summary of the settings available in the desktop and kiosk devices, see [What you can configure using Configuration Designer wizards](provisioning-packages.md#configuration-designer-wizards). - - - >[!NOTE] - >To target devices running versions earlier than Windows 10, version 2004, ComputerName customization must be defined from the setting path: `Accounts/ComputerAccount/ComputerName` from the advanced editor. The default path from the simple editor uses a new CSP that isn't available on older systems. - - - The **Advanced provisioning** option opens a new project with all the runtime settings available. (The rest of this procedure uses advanced provisioning.) - - >[!TIP] - > You can start a project in the simple wizard editor and then switch the project to the advanced editor. - > - > ![Switch to advanced editor.](images/icd-switch.png) + > [!TIP] + > You can start a project in the simple wizard editor and then switch the project to the advanced editor. + > + > ![Switch to advanced editor.](images/icd-switch.png) 1. Enter a name for your project, and then select **Next**. @@ -48,7 +31,7 @@ You can use Windows Configuration Designer to create a provisioning package (`.p | Windows edition | Settings available for customization | Provisioning package can apply to | |---|---|---| - | All Windows editions | Common settings | All Windows client devices | + | All Windows editions | Common settings | All Windows client devices | | All Windows desktop editions | Common settings and settings specific to desktop devices | All Windows client desktop editions (Home, Pro, Enterprise, Pro Education, Enterprise Education) | | Windows 10 IoT Core | Common settings and settings specific to Windows 10 IoT Core | All Windows 10 IoT Core devices | | Windows 10 Holographic | Common settings and settings specific to Windows 10 Holographic | [Microsoft HoloLens](/hololens/hololens-provisioning) | @@ -67,7 +50,10 @@ For an advanced provisioning project, Windows Configuration Designer opens the * ![What the ICD interface looks like.](images/icd-runtime.png) -The settings in Windows Configuration Designer are based on Windows client configuration service providers (CSPs). To learn more about CSPs, see [Introduction to configuration service providers (CSPs) for IT pros](./how-it-pros-can-use-configuration-service-providers.md). +The settings in Windows Configuration Designer are based on Windows client configuration service providers (CSPs). To learn more about CSPs, see [Introduction to configuration service providers (CSPs) for IT pros](how-it-pros-can-use-configuration-service-providers.md). + +> [!NOTE] +> To target devices running versions earlier than Windows 10, version 2004, ComputerName customization must be defined from the setting path: `Accounts/ComputerAccount/ComputerName` from the advanced editor. The default path from the simple editor uses a new CSP that isn't available on older systems. The process for configuring settings is similar for all settings. The following table shows an example. @@ -83,11 +69,11 @@ The process for configuring settings is similar for all settings. The following :::image type="content" source="images/icd-step3.png" alt-text="In Windows Configuration Designer, enter a name for the certificate."::: -1. Some settings, such as this example, require additional information. In **Available customizations**, select the value you just created, and more settings are displayed: +1. Some settings, such as this example, require additional information. In **Available customizations**, select the value you created, and more settings are displayed: :::image type="content" source="images/icd-step4.png" alt-text="In Windows Configuration Designer, additional settings for client certificate are available."::: -1. When the setting is configured, it is displayed in the **Selected customizations** pane: +1. When the setting is configured, it's displayed in the **Selected customizations** pane: :::image type="content" source="images/icd-step5.png" alt-text="In Windows Configuration Designer, the selected customizations pane shows your settings."::: @@ -97,27 +83,26 @@ For details on each specific setting, see [Windows Provisioning settings referen ## Build package -1. After you're done configuring your customizations, select **Export**, and then select **Provisioning Package**. +1. After you configure your customizations, select **Export**, and then select **Provisioning Package**. ![Export on top bar.](images/icd-export-menu.png) 1. In the **Describe the provisioning package** window, enter the following information, and then select **Next**: - - **Name** - This field is pre-populated with the project name. You can change this value by entering a different name in the **Name** field. - - **Version (in Major.Minor format** - Optional. You can change the default package version by specifying a new value in the **Version** field. + - **Name** - This field is prepopulated with the project name. You can change this value by entering a different name in the **Name** field. + - **Version (in Major.Minor format** - Optional. You can change the default package version by specifying a new value in the **Version** field. - **Owner** - Select **IT Admin**. For more information, see [Precedence for provisioning packages](provisioning-how-it-works.md#precedence-for-provisioning-packages). - **Rank (between 0-99)** - Optional. You can select a value between 0 and 99, inclusive. The default package rank is 0. 1. In the **Select security details for the provisioning package** window, you can select to encrypt and/or sign a provisioning package with a selected certificate, and then select **Next**. Both selections are optional: - - **Encrypt package** - If you select this option, an autogenerated password will be shown on the screen. - - **Sign package** - If you select this option, you must select a valid certificate to use for signing the package. You can specify the certificate by selecting **Select** and choosing the certificate you want to use to sign the package. + - **Encrypt package** - If you select this option, an autogenerated password is shown on the screen. + - **Sign package** - If you select this option, you must select a valid certificate to use for signing the package. You can specify the certificate by selecting **Select** and choosing the certificate you want to use to sign the package. - >[!NOTE] - >You should only configure provisioning package security when the package is used for device provisioning and when the package has content with sensitive security data, such as certificates or credentials that should be prevented from being compromised. When applying an encrypted and/or signed provisioning package, either during OOBE or through the setting UI, the package can be decrypted, and if signed, be trusted without explicit user consent. An IT administrator can set policy on a user device to restrict the removal of required packages from the device, or the provisioning of potentially harmful packages on the device. - - > - >If a provisioning package is signed by a trusted provisioner, it can be installed on a device without a prompt for user consent. In order to enable trusted provider certificates, you must set the **TrustedProvisioners** setting prior to installing the trusted provisioning package. This is the only way to install a package without user consent. To provide additional security, you can also set **RequireProvisioningPackageSignature**, which prevents users from installing provisioning packages that are not signed by a trusted provisioner. + > [!NOTE] + > You should only configure provisioning package security when the package is used for device provisioning and when the package has content with sensitive security data, such as certificates or credentials that should be prevented from being compromised. When applying an encrypted and/or signed provisioning package, either during OOBE or through the setting UI, the package can be decrypted, and if signed, be trusted without explicit user consent. An IT administrator can set policy on a user device to restrict the removal of required packages from the device, or the provisioning of potentially harmful packages on the device. + > + > If a provisioning package is signed by a trusted provisioner, it can be installed on a device without a prompt for user consent. In order to enable trusted provider certificates, you must set the **TrustedProvisioners** setting prior to installing the trusted provisioning package. This is the only way to install a package without user consent. To provide additional security, you can also set **RequireProvisioningPackageSignature**, which prevents users from installing provisioning packages that are not signed by a trusted provisioner. 1. In the **Select where to save the provisioning package** window, specify the output location where you want the provisioning package to go once it's built, and then select **Next**. By default, Windows Configuration Designer uses the project folder as the output location. @@ -125,29 +110,17 @@ For details on each specific setting, see [Windows Provisioning settings referen If you need to cancel the build, select **Cancel**. This cancels the current build process, closes the wizard, and takes you back to the **Customizations** page. -1. If your build fails, an error message will appear that includes a link to the project folder. You can scan the logs to determine what caused the error. Once you fix the issue, try building the package again. +1. If your build fails, an error message appears that includes a link to the project folder. You can scan the logs to determine what caused the error. Once you fix the issue, try building the package again. - If your build is successful, the name of the provisioning package, output directory, and project directory will be shown. + If your build is successful, the name of the provisioning package, output directory, and project directory is shown. If you choose, you can build the provisioning package again and pick a different path for the output package. To do this, select **Back** to change the output package name and path, and then select **Next** to start another build. -1. When you are done, select **Finish** to close the wizard and go back to the **Customizations** page. +1. When you're done, select **Finish** to close the wizard and go back to the **Customizations** page. -**Next step**: [How to apply a provisioning package](provisioning-apply-package.md) +## Next steps -## Learn more - -- [How to bulk-enroll devices with On-premises Mobile Device Management in Microsoft Configuration Manager](/configmgr/mdm/deploy-use/bulk-enroll-devices-on-premises-mdm) - -## Related articles - -- [Provisioning packages for Windows client](provisioning-packages.md) -- [How provisioning works in Windows client](provisioning-how-it-works.md) -- [Install Windows Configuration Designer](provisioning-install-icd.md) -- [Apply a provisioning package](provisioning-apply-package.md) -- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md) -- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md) -- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md) -- [PowerShell cmdlets for provisioning Windows client (reference)](provisioning-powershell.md) -- [Windows Configuration Designer command-line interface (reference)](provisioning-command-line.md) -- [Create a provisioning package with multivariant settings](provisioning-multivariant.md) +> [!div class="nextstepaction"] +> Learn more about applying a provisioning package: +> +> [Apply a provisioning package](provisioning-apply-package.md) \ No newline at end of file diff --git a/windows/configuration/provisioning-packages/provisioning-how-it-works.md b/windows/configuration/provisioning-packages/provisioning-how-it-works.md index 24c02a6557..ec61311214 100644 --- a/windows/configuration/provisioning-packages/provisioning-how-it-works.md +++ b/windows/configuration/provisioning-packages/provisioning-how-it-works.md @@ -1,13 +1,13 @@ --- -title: How provisioning works in Windows 10/11 +title: How provisioning works in Windows description: Learn more about how provisioning package work on Windows client devices. A provisioning package (.ppkg) is a container for a collection of configuration settings. ms.topic: conceptual -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- # How provisioning works in Windows -Provisioning packages in Windows client provide IT administrators with a simplified way to apply configuration settings to Windows client devices. Windows Configuration Designer is a tool that makes it easy to create a provisioning package. Windows Configuration Designer can be installed from Microsoft Store. +Provisioning packages in Windows client provide IT administrators with a simplified way to apply configuration settings to Windows client devices. Windows Configuration Designer is a tool that makes it easy to create a provisioning package. Windows Configuration Designer can be installed from the Microsoft Store. ## Provisioning packages @@ -30,15 +30,10 @@ You can use provisioning packages for runtime device provisioning by accessing When multiple provisioning packages are available for device provisioning, the combination of package owner type and package rank level defined in the package manifest is used to resolve setting conflicts. The pre-defined package owner types are listed below in the order of lowest to highest owner type precedence: 1. Microsoft - 1. Silicon Vendor - 1. OEM - 1. System Integrator - 1. Mobile Operator - 1. IT Admin The valid value range of package rank level is 0 to 99. @@ -130,16 +125,3 @@ When applying provisioning packages from a removable media attached to the devic When applying multiple provisioning packages to a device, the provisioning engine resolves settings with conflicting configuration values from different packages by evaluating the package ranking using the combination of package owner type and package rank level defined in the package metadata. A configuration setting applied from a provisioning package with the highest package ranking will be the final value applied to the device. After a stand-alone provisioning package is applied to the device, the package is persisted in the `%ProgramData%\Microsoft\Provisioning` folder on the device. Provisioning packages can be removed by an administrator by using the **Add or remove a provisioning package** available under **Settings** > **Accounts** > **Access work or school**. - -## Related articles - -- [Provisioning packages for Windows client](provisioning-packages.md) -- [Install Windows Configuration Designer](provisioning-install-icd.md) -- [Create a provisioning package](provisioning-create-package.md) -- [Apply a provisioning package](provisioning-apply-package.md) -- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md) -- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md) -- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md) -- [PowerShell cmdlets for provisioning Windows client (reference)](provisioning-powershell.md) -- [Windows Configuration Designer command-line interface (reference)](provisioning-command-line.md) -- [Create a provisioning package with multivariant settings](provisioning-multivariant.md) diff --git a/windows/configuration/provisioning-packages/provisioning-install-icd.md b/windows/configuration/provisioning-packages/provisioning-install-icd.md index 9b572cde75..8acca19051 100644 --- a/windows/configuration/provisioning-packages/provisioning-install-icd.md +++ b/windows/configuration/provisioning-packages/provisioning-install-icd.md @@ -1,15 +1,17 @@ --- title: Install Windows Configuration Designer -description: Learn how to install and use Windows Configuration Designer so you can easily configure devices running Windows 10/11. +description: Learn how to install and use Windows Configuration Designer so you can easily configure devices running Windows. ms.topic: how-to ms.reviewer: kevinsheehan -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- -# Install Windows Configuration Designer, and learn about any limitations +# Install Windows Configuration Designer Use the Windows Configuration Designer tool to create provisioning packages to easily configure devices running Windows client. Windows Configuration Designer is primarily used by IT departments for business and educational institutions who need to provision bring-your-own-device (BYOD) and business-supplied devices. +On devices running Windows client, you can install [the Windows Configuration Designer app](https://www.microsoft.com/store/apps/9nblggh4tx22) from the Microsoft Store. + ## Supported platforms Windows Configuration Designer can create provisioning packages for Windows client desktop, including Windows IoT Core, Microsoft Surface Hub, and Microsoft HoloLens. You can run Windows Configuration Designer on the following operating systems: @@ -18,32 +20,22 @@ Windows Configuration Designer can create provisioning packages for Windows clie - Windows 11 - Windows 10 - x86 and amd64 -- Windows 8.1 Update - x86 and amd64 -- Windows 8.1 - x86 and amd64 -- Windows 8 - x86 and amd64 -- Windows 7 - x86 and amd64 **Server OS**: +- Windows Server 2022 +- Windows Server 2019 - Windows Server 2016 -- Windows Server 2012 R2 Update -- Windows Server 2012 R2 -- Windows Server 2012 -- Windows Server 2008 R2 ->[!WARNING] ->You must run Windows Configuration Designer on Windows client to configure Microsoft Entra enrollment using any of the wizards. - -## Install Windows Configuration Designer - -On devices running Windows client, you can install [the Windows Configuration Designer app](https://www.microsoft.com/store/apps/9nblggh4tx22) from the Microsoft Store. +> [!WARNING] +> You must run Windows Configuration Designer on Windows client to configure Microsoft Entra enrollment using any of the wizards. ## Current Windows Configuration Designer limitations -- When running Windows Configuration Designer on Windows releases earlier than Windows 10, version 2004 you might need to enable TLS 1.2, especially if using Bulk Enrollment Tokens. You may see the error message in the `icd.log` file: `Error: AADSTS1002016: You are using TLS version 1.0, 1.1 and/or 3DES cipher which are deprecated to improve the security posture of Azure AD` For more information, see [Enable TLS 1.2 on client or server operating systems](/troubleshoot/azure/active-directory/enable-support-tls-environment#enable-tls-12-on-client-or-server-operating-systems-). +- When running Windows Configuration Designer on Windows releases earlier than Windows 10, version 2004 you might need to enable TLS 1.2, especially if using Bulk Enrollment Tokens. You may see the error message in the `icd.log` file: `Error: AADSTS1002016: You are using TLS version 1.0, 1.1 and/or 3DES cipher which are deprecated to improve the security posture of Azure AD` For more information, see [Enable TLS 1.2 on client or server operating systems](/troubleshoot/azure/active-directory/enable-support-tls-environment#enable-tls-12-on-client-or-server-operating-systems-). -- Windows Configuration Designer doesn't work properly when the Group Policy setting **Policies** > **Administrative Templates** > **Windows Components** > **Internet Explorer** > **Security Zones: Use only machine settings** is enabled. When this policy is set, each step will display oversized buttons that fill the **Windows Configuration Designer** window. Additionally, the various options and descriptions that are normally to the right of the buttons won't be displayed because the buttons take up all of the space in the **Windows Configuration Designer** window. To resolve the problem, run Windows Configuration Designer on a device that doesn't have this policy enabled. +- Windows Configuration Designer doesn't work properly when the Group Policy setting **Policies** > **Administrative Templates** > **Windows Components** > **Internet Explorer** > **Security Zones: Use only machine settings** is enabled. When this policy is set, each step displays oversized buttons that fill the **Windows Configuration Designer** window. Additionally, the various options and descriptions that are normally to the right of the buttons aren't displayed because the buttons take up all of the space in the **Windows Configuration Designer** window. To resolve the problem, run Windows Configuration Designer on a device that doesn't have this policy enabled. - You can only run one instance of Windows Configuration Designer on your computer at a time. @@ -68,17 +60,10 @@ On devices running Windows client, you can install [the Windows Configuration De - **Recommended**: Before starting, copy all source files to the PC running Windows Configuration Designer. Don't use external sources, like network shares or removable drives. Using local files reduces the risk of interrupting the build process from a network issue, or from disconnecting the USB device. -**Next step**: [How to create a provisioning package](provisioning-create-package.md) +## Next steps -## Related articles - -- [Provisioning packages for Windows client](provisioning-packages.md) -- [How provisioning works in Windows client](provisioning-how-it-works.md) -- [Create a provisioning package](provisioning-create-package.md) -- [Apply a provisioning package](provisioning-apply-package.md) -- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md) -- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md) -- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md) -- [PowerShell cmdlets for provisioning Windows client (reference)](provisioning-powershell.md) -- [Windows Configuration Designer command-line interface (reference)](provisioning-command-line.md) -- [Create a provisioning package with multivariant settings](provisioning-multivariant.md) +> [!div class="nextstepaction"] +> Learn more about creating a provisioning package: +> +> [Create a provisioning package (simple)](provision-pcs-for-initial-deployment.md) +> [Create a provisioning package (advanced)](provisioning-create-package.md) diff --git a/windows/configuration/provisioning-packages/provisioning-multivariant.md b/windows/configuration/provisioning-packages/provisioning-multivariant.md index 6ecb125be7..01be2943f7 100644 --- a/windows/configuration/provisioning-packages/provisioning-multivariant.md +++ b/windows/configuration/provisioning-packages/provisioning-multivariant.md @@ -2,18 +2,18 @@ title: Create a provisioning package with multivariant settings description: Create a provisioning package with multivariant settings to customize the provisioned settings for defined conditions. ms.topic: how-to -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- # Create a provisioning package with multivariant settings -In your organization, you might have different configuration requirements for devices that you manage. You can create separate provisioning packages for each group of devices in your organization that have different requirements. Or, you can create a multivariant provisioning package, a single provisioning package that can work for multiple conditions. For example, in a single provisioning package, you can define one set of customization settings that will apply to devices set up for French and a different set of customization settings for devices set up for Japanese. +In your organization, you might have different configuration requirements for devices that you manage. You can create separate provisioning packages for each group of devices in your organization that have different requirements. Or, you can create a multivariant provisioning package, a single provisioning package that can work for multiple conditions. For example, in a single provisioning package, you can define one set of customization settings that apply to devices set up for French and a different set of customization settings for devices set up for Japanese. To provision multivariant settings, you use Windows Configuration Designer to create a provisioning package that contains all of the customization settings that you want to apply to any of your devices. Next, you manually edit the .XML file for that project to define each set of devices (a **Target**). For each **Target**, you specify at least one **Condition** with a value, which identifies the devices to receive the configuration. Finally, for each **Target**, you provide the customization settings to be applied to those devices. Let's begin by learning how to define a **Target**. -## Define a target +## Target In the XML file, you provide an **Id**, or friendly name, for each **Target**. Each **Target** is defined by at least one **TargetState** which contains at least one **Condition**. A **Condition** element defines the matching type between the condition and the specified value. @@ -43,9 +43,9 @@ The following table shows the conditions supported in Windows client provisionin | PNN | P0 | Supported | String | Use to target settings based on public land mobile network (PLMN) Network Name value. | | GID1 | P0 | Supported | Digit string | Use to target settings based on the Group Identifier (level 1) value. | | ICCID | P0 | Supported | Digit string | Use to target settings based on the Integrated Circuit Card Identifier (ICCID) value. | -| Roaming | P0 | N/A | Boolean | Use to specify roaming. Set the value to **1** (roaming) or **0** (non-roaming). | -| UICC | P0 | N/A | Enumeration | Use to specify the Universal Integrated Circuit Card (UICC) state. Set the value to one of the following:


- 0 - Empty
- 1 - Ready
- 2 - Locked | -| UICCSLOT | P0 | N/A | Digit string | Use to specify the UICC slot. Set the value one of the following:


- 0 - Slot 0
- 1 - Slot 1 | +| Roaming | P0 | N/A | Boolean | Use to specify roaming. Set the value to **1** (roaming) or **0** (nonroaming). | +| UICC | P0 | N/A | Enumeration | Use to specify the Universal Integrated Circuit Card (UICC) state. Set the value to one of these values:
0 - Empty
1 - Ready
2 - Locked | +| UICCSLOT | P0 | N/A | Digit string | Use to specify the UICC slot. Set the value one of these values:
0 - Slot 0
1 - Slot 1 | | ProcessorType | P1 | Supported | String | Use to target settings based on the processor type. | | ProcessorName | P1 | Supported | String | Use to target settings based on the processor name. | | AoAc ("Always On, Always Connected") | P1 | Supported | Boolean | Set the value to **0** (false) or **1** (true). If this condition is TRUE, the system supports the S0 low power idle model. | @@ -53,17 +53,16 @@ The following table shows the conditions supported in Windows client provisionin | SocIdentifier | P1 | Supported | String | Use to target settings based on the Soc Identifier. Available since 25301 OS build version. | | Architecture | P1 | Supported | String | Matches the PROCESSOR_ARCHITECTURE environment variable. | | Server | P1 | Supported | Boolean | Set the value to **0** (false) or **1** (true) to identify a server. | -| Region | P1 | Supported | Enumeration | Use to target settings based on country/region, using the 2-digit alpha ISO code per [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). | -| Lang | P1 | Supported | Enumeration | Use to target settings based on language code, using the 2-digit [ISO 639 alpha-2 code](https://en.wikipedia.org/wiki/ISO_639). | +| Region | P1 | Supported | Enumeration | Use to target settings based on region, using the two digit alpha ISO code per [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). | +| Lang | P1 | Supported | Enumeration | Use to target settings based on language code, using the two digit [ISO 639 alpha-2 code](https://en.wikipedia.org/wiki/ISO_639). | The matching types supported in Windows client are: -| Matching type | Syntax | Example | -| --- | --- | --- | -| Straight match | Matching type is specified as-is | <Condition Name="ProcessorName" Value="Barton" /> | -| Regular expression (Regex) match | Matching type is prefixed by "Pattern:" | <Condition Name="ProcessorName" Value="Pattern:.*Celeron.*" /> | -| Numeric range match | Matching type is prefixed by "!Range:" | <Condition Name="MNC" Value="!Range:400, 550" /> | - +| Matching type | Syntax | Example | +|-----------------------------------|-------------------------------------------|------------------------------------------------------------------------| +| Straight match | Matching type is specified as-is | `<Condition Name="ProcessorName" Value="Barton" />` | +| Regular expressions (Regex) match | Matching type is prefixed with `Pattern:` | `<Condition Name="ProcessorName" Value="Pattern:.*Celeron.*" />` | +| Numeric range match | Matching type is prefixed with `!Range:` | `<Condition Name="MNC" Value="!Range:400, 550" />` | ### TargetState priorities @@ -76,27 +75,18 @@ Settings that match more than one **TargetState** with equal priority are applie The **TargetState** priority is assigned based on the condition's priority (see the [Conditions table](#conditions) for priorities). The priority evaluation rules are as followed: 1. A **TargetState** with P0 conditions is higher than a **TargetState** without P0 conditions. - 1. A **TargetState** with both P0 and P1 conditions is higher than a **TargetState** with only P0 conditions. - 1. A **TargetState** with a greater number of matched P0 conditions is higher than **TargetState** with fewer matched P0 conditions, regardless of the number of P1 conditions matched. - -1. If the number of P0 conditions matched are equivalent, then the **TargetState** with the most matched P1 conditions has higher priority. - +1. If the number of P0 conditions matched is equivalent, then the **TargetState** with the most matched P1 conditions has higher priority. 1. If both P0 and P1 conditions are equally matched, then the **TargetState** with the greatest total number of matched conditions has highest priority. - - ## Create a provisioning package with multivariant settings Follow these steps to create a provisioning package with multivariant capabilities. 1. Build a provisioning package and configure the customizations you want to apply during certain conditions. For more information, see [Create a provisioning package](provisioning-create-package.md). - -1. After you've [configured the settings](provisioning-create-package.md#configure-settings), save the project. - +1. After you [configure the settings](provisioning-create-package.md#configure-settings), save the project. 1. Open the project folder and copy the customizations.xml file to any local location. - 1. Use an XML or text editor to open the customizations.xml file. The customizations.xml file holds the package metadata (including the package owner and rank) and the settings that you configured when you created your provisioning package. The **Customizations** node of the file contains a **Common** section, which contains the customization settings. @@ -131,10 +121,9 @@ Follow these steps to create a provisioning package with multivariant capabiliti ``` -1. Edit the customizations.xml file to create a **Targets** section to describe the conditions that will handle your multivariant settings. - - The following example shows the customizations.xml, which has been modified to include several conditions including **ProcessorName**, **ProcessorType**, **MCC**, and **MNC**. +1. Edit the customizations.xml file to create a **Targets** section to describe the conditions that handle your multivariant settings. + The following example shows the customizations.xml, which is modified to include several conditions including **ProcessorName**, **ProcessorType**, **MCC**, and **MNC**. ```XML @@ -185,18 +174,15 @@ Follow these steps to create a provisioning package with multivariant capabiliti 1. In the customizations.xml file, create a **Variant** section for the settings you need to customize. To do this: a. Define a child **TargetRefs** element. - - b. Within the **TargetRefs** element, define a **TargetRef** element. You can define multiple **TargetRef** elements for each **Id** that you need to apply to customized settings. - c. Move compliant settings from the **Common** section to the **Variant** section. If any of the **TargetRef** elements matches the **Target**, all settings in the **Variant** are applied. - >[!NOTE] - >You can define multiple **Variant** sections. Settings that reside in the **Common** section are applied unconditionally on every triggering event. + > [!NOTE] + > You can define multiple **Variant** sections. Settings that reside in the **Common** section are applied unconditionally on every triggering event. - The following example shows the customizations.xml updated to include a **Variant** section and the moved settings that will be applied if the conditions for the variant are met. + The following example shows the customizations.xml updated to include a **Variant** section and the moved settings that are applied if the conditions for the variant are met. ```XML @@ -249,10 +235,9 @@ Follow these steps to create a provisioning package with multivariant capabiliti - ``` -1. Save the updated customizations.xml file and note the path to this updated file. You will need the path as one of the values for the next step. +1. Save the updated customizations.xml file and note the path to this updated file. You'll need the path as one of the values for the next step. 1. Use the [Windows Configuration Designer command-line interface](provisioning-command-line.md) to create a provisioning package using the updated customizations.xml. @@ -262,13 +247,10 @@ Follow these steps to create a provisioning package with multivariant capabiliti icd.exe /Build-ProvisioningPackage /CustomizationXML:"C:\CustomProject\customizations.xml" /PackagePath:"C:\CustomProject\output.ppkg" /StoreFile:C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Imaging and Configuration Designer\x86\Microsoft-Common-Provisioning.dat" ``` +In this example, the **StoreFile** corresponds to the location of the settings store that is used to create the package for the required Windows edition. -In this example, the **StoreFile** corresponds to the location of the settings store that will be used to create the package for the required Windows edition. - ->[!NOTE] ->The provisioning package created during this step will contain the multivariant settings. You can use this package either as a standalone package that you can apply to a Windows device or use it as the base when starting another project. - - +> [!NOTE] +> The provisioning package created during this step contains the multivariant settings. You can use this package either as a standalone package that you can apply to a Windows device or use it as the base when starting another project. ## Events that trigger provisioning @@ -276,26 +258,11 @@ When you install the multivariant provisioning package on a Windows client devic The following events trigger provisioning on Windows client devices: -| Event | Windows client for desktop editions | -| --- | --- | -| System boot | Supported | -| Operating system update | Planned | -| Package installation during device first run experience | Supported | -| Detection of SIM presence or update | Supported | -| Package installation at runtime | Supported | -| Roaming detected | Not supported | - - -## Related articles - -- [Provisioning packages for Windows client](provisioning-packages.md) -- [How provisioning works in Windows client](provisioning-how-it-works.md) -- [Install Windows Configuration Designer](provisioning-install-icd.md) -- [Create a provisioning package](provisioning-create-package.md) -- [Apply a provisioning package](provisioning-apply-package.md) -- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md) -- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md) -- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md) -- [PowerShell cmdlets for provisioning Windows client (reference)](provisioning-powershell.md) -- [Windows Configuration Designer command-line interface (reference)](provisioning-command-line.md) - +| Event | Windows client for desktop editions | +|---------------------------------------------------------|-------------------------------------| +| System boot | Supported | +| Operating system update | Planned | +| Package installation during device first run experience | Supported | +| Detection of SIM presence or update | Supported | +| Package installation at runtime | Supported | +| Roaming detected | Not supported | diff --git a/windows/configuration/provisioning-packages/provisioning-packages.md b/windows/configuration/provisioning-packages/provisioning-packages.md index 050fc24beb..a226b877f3 100644 --- a/windows/configuration/provisioning-packages/provisioning-packages.md +++ b/windows/configuration/provisioning-packages/provisioning-packages.md @@ -1,9 +1,9 @@ --- title: Provisioning packages overview -description: With Windows 10 and Windows 11, you can create provisioning packages that let you quickly and efficiently configure a device without having to install a new image. Learn about what provisioning packages, are and what they do. +description: With Windows, you can create provisioning packages that let you quickly and efficiently configure a device without having to install a new image. Learn about what provisioning packages are and what they do. ms.reviewer: kevinsheehan ms.topic: conceptual -ms.date: 12/31/2017 +ms.date: 07/08/2024 --- # Provisioning packages for Windows @@ -12,29 +12,17 @@ Windows provisioning makes it easy for IT administrators to configure end-user d A provisioning package (.ppkg) is a container for a collection of configuration settings. With Windows client, you can create provisioning packages that let you quickly and efficiently configure a device without having to install a new image. -Provisioning packages are simple enough that with a short set of written instructions, a student, or non-technical employee can use them to configure their device. It can result in a significant reduction in the time required to configure multiple devices in your organization. - - +Provisioning packages are simple enough that with a short set of written instructions, a student, or nontechnical users can use them to configure their device. It can result in a significant reduction in the time required to configure multiple devices in your organization. Windows Configuration Designer is available as an [app in the Microsoft Store](https://www.microsoft.com/store/apps/9nblggh4tx22). - - - - - - - - - - ## Benefits of provisioning packages Provisioning packages let you: - Quickly configure a new device without going through the process of installing a new image. - Save time by configuring multiple devices using one provisioning package. -- Quickly configure employee-owned devices in an organization without a mobile device management (MDM) infrastructure. +- Quickly configure user-owned devices in an organization without a mobile device management (MDM) infrastructure. - Set up a device without the device having network connectivity. Provisioning packages can be: @@ -44,57 +32,7 @@ Provisioning packages can be: - Downloaded from a network share. - Deployed in NFC tags or barcodes. -## What you can configure - -### Configuration Designer wizards - -The following table describes settings that you can configure using the wizards in Windows Configuration Designer to create provisioning packages. - -| Step | Description | Desktop wizard | Kiosk wizard | HoloLens wizard | -| --- | --- | --- | --- | --- | -| Set up device | Assign device name, enter product key to upgrade Windows, configure shared use, remove pre-installed software | ✅ | ✅ | ✅ | -| Set up network | Connect to a Wi-Fi network | ✅ | ✅ | ✅ | -| Account management | Enroll device in Active Directory, enroll device in Microsoft Entra ID, or create a local administrator account | ✅ | ✅ | ✅ | -| Bulk Enrollment in Microsoft Entra ID | Enroll device in Microsoft Entra ID using Bulk Token

[Set up Microsoft Entra join in your organization](/azure/active-directory/active-directory-azureadjoin-setup), before you use Windows Configuration Designer wizard to configure bulk Microsoft Entra enrollment. | ✅ | ✅ | ✅ | -| Add applications | Install applications using the provisioning package. | ✅ | ✅ | ❌ | -| Add certificates | Include a certificate file in the provisioning package. | ✅ | ✅ | ✅ | -| Configure kiosk account and app | Create local account to run the kiosk mode app, specify the app to run in kiosk mode | ❌ | ✅ | ❌ | -| Configure kiosk common settings | Set tablet mode, configure welcome and shutdown screens, turn off timeout settings | ❌ | ✅ | ❌ | -| Developer Setup | Enable Developer Mode | ❌ | ❌ | ✅ | - -- [Instructions for the desktop wizard](provision-pcs-for-initial-deployment.md) -- [Instructions for the kiosk wizard](../kiosk-single-app.md#wizard) -- [Instructions for the HoloLens wizard](/hololens/hololens-provisioning#wizard) - ->[!NOTE] ->After you start a project using a Windows Configuration Designer wizard, you can switch to the advanced editor to configure additional settings in the provisioning package. - -### Configuration Designer advanced editor - -The following table provides some examples of settings that you can configure using the Windows Configuration Designer advanced editor to create provisioning packages. - -| Customization options | Examples | -|---|---| -| Bulk Active Directory join and device name | Join devices to Active Directory domain and assign device names using hardware-specific serial numbers or random characters | -| Applications | Windows apps, line-of-business applications | -| Bulk enrollment into MDM | Automatic enrollment into a third-party MDM service

Using a provisioning package for auto-enrollment to Microsoft Intune isn't supported. To enroll devices, use the Configuration Manager console. | -| Certificates | Root certification authority (CA), client certificates | -| Connectivity profiles | Wi-Fi, proxy settings, Email | -| Enterprise policies | Security restrictions (password, device lock, camera, and so on), encryption, update settings | -| Data assets | Documents, music, videos, pictures | -| Start menu customization | Start menu layout, application pinning | -| Other | Home and lock screen wallpaper, computer name, domain join, DNS settings, and so on | - -For details about the settings you can customize in provisioning packages, see [Windows Provisioning settings reference]( https://go.microsoft.com/fwlink/p/?LinkId=619012). - - - - - - -WCD, simplified common provisioning scenarios. - -:::image type="content" source="images/icd.png" alt-text="Configuration Designer options"::: +## Provisioning scenarios WCD supports the following scenarios for IT administrators: @@ -111,8 +49,54 @@ WCD supports the following scenarios for IT administrators: - MobileIron (password-string based enrollment) - Other MDMs (cert-based enrollment) - - +> [!NOTE] +> The Provision school devices wizard is removed from Windows Configuration Designer. Instead, use the [Setup School PCs app](https://www.microsoft.com/store/p/set-up-school-pcs/9nblggh4ls40) from the Microsoft Store. + +:::image type="content" source="images/icd.png" alt-text="Configuration Designer options"::: + +## What you can configure + +Windows Configuration Designer provides the following simple provisioning scenarios: + +- [Instructions for the desktop wizard](provision-pcs-for-initial-deployment.md) +- [Instructions for the kiosk wizard](../assigned-access/overview.md) +- [Instructions for the HoloLens wizard](/hololens/hololens-provisioning#provisioning-package-hololens-wizard) +- [Instructions for the Surface Hub wizard](/surface-hub/provisioning-packages-for-surface-hub) + +The following table describes settings that you can configure using the wizards in Windows Configuration Designer to create provisioning packages. + +| Step | Description | Desktop wizard | Kiosk wizard | HoloLens wizard | +| --- | --- | --- | --- | --- | +| Set up device | Assign device name, enter product key to upgrade Windows, configure shared use, remove preinstalled software | ✅ | ✅ | ✅ | +| Set up network | Connect to a Wi-Fi network | ✅ | ✅ | ✅ | +| Account management | Enroll device in Active Directory, enroll device in Microsoft Entra ID, or create a local administrator account | ✅ | ✅ | ✅ | +| Bulk Enrollment in Microsoft Entra ID | Enroll device in Microsoft Entra ID using Bulk Token

[Set up Microsoft Entra join in your organization](/azure/active-directory/active-directory-azureadjoin-setup), before you use Windows Configuration Designer wizard to configure bulk Microsoft Entra enrollment. | ✅ | ✅ | ✅ | +| Add applications | Install applications using the provisioning package. | ✅ | ✅ | ❌ | +| Add certificates | Include a certificate file in the provisioning package. | ✅ | ✅ | ✅ | +| Configure kiosk account and app | Create local account to run the kiosk mode app, specify the app to run in kiosk mode | ❌ | ✅ | ❌ | +| Configure kiosk common settings | Set tablet mode, configure welcome and shutdown screens, turn off timeout settings | ❌ | ✅ | ❌ | +| Developer Setup | Enable Developer Mode | ❌ | ❌ | ✅ | + +> [!TIP] +> After you start a project using a Windows Configuration Designer wizard, you can switch to the advanced editor to configure additional settings in the provisioning package. + +## Configuration Designer advanced editor + +The following table provides some examples of settings that you can configure using the Windows Configuration Designer advanced editor to create provisioning packages. + +| Customization options | Examples | +|---|---| +| Bulk Active Directory join and device name | Join devices to Active Directory domain and assign device names using hardware-specific serial numbers or random characters | +| Applications | Windows apps, line-of-business applications | +| Bulk enrollment into MDM | Automatic enrollment into a third-party MDM service

Using a provisioning package for autoenrollment to Microsoft Intune isn't supported. To enroll devices, use the Configuration Manager console. | +| Certificates | Root certification authority (CA), client certificates | +| Connectivity profiles | Wi-Fi, proxy settings, Email | +| Enterprise policies | Security restrictions (password, device lock, camera, and so on), encryption, update settings | +| Data assets | Documents, music, videos, pictures | +| Start menu customization | Start menu layout, application pinning | +| Other | Home and lock screen wallpaper, computer name, domain join, DNS settings, and so on | + +For details about the settings you can customize in provisioning packages, see [Windows Provisioning settings reference]( https://go.microsoft.com/fwlink/p/?LinkId=619012). ## Related articles diff --git a/windows/configuration/provisioning-packages/provisioning-powershell.md b/windows/configuration/provisioning-packages/provisioning-powershell.md index e5e7ea6019..d8292d3413 100644 --- a/windows/configuration/provisioning-packages/provisioning-powershell.md +++ b/windows/configuration/provisioning-packages/provisioning-powershell.md @@ -1,17 +1,14 @@ --- -title: PowerShell cmdlets for provisioning Windows 10/11 -description: Learn more about the Windows PowerShell cmdlets that you can use with Provisioning packages on Windows10/11 client desktop devices. +title: PowerShell cmdlets for provisioning packages in Windows +description: Learn more about the Windows PowerShell cmdlets that you can use with Provisioning packages on Windows devices. ms.topic: conceptual - -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- -# PowerShell cmdlets for provisioning Windows client (reference) +# PowerShell cmdlets for provisioning Windows client Windows client includes Provisioning PowerShell cmdlets. These cmdlets make it easy to script the following functions. -## cmdlets - - **Add-ProvisioningPackage**: Applies a provisioning package. Syntax: @@ -59,7 +56,7 @@ Windows client includes Provisioning PowerShell cmdlets. These cmdlets make it e - `Uninstall-TrustedProvisioningCertificate ` ->[!NOTE] +> [!NOTE] > You can use Get-Help to get usage help on any command. For example: `Get-Help Add-ProvisioningPackage` Trace logs are captured when using cmdlets. The following logs are available in the logs folder after the cmdlet completes: @@ -69,20 +66,5 @@ Trace logs are captured when using cmdlets. The following logs are available in - ProvTrace.<timestamp>.TXT - TEXT file containing trace output formatted for easy reading, filtered to only show events logged by providers in the WPRP file - ProvLogReport.<timestamp>.XLS - Excel file containing trace output, filtered to only show events logged by providers in WPRP file - - ->[!NOTE] ->When applying provisioning packages using Powershell cmdlets, the default behavior is to suppress the prompt that appears when applying an unsigned provisioning package. This is by design so that provisioning packages can be applied as part of existing scripts. - -## Related articles - -- [How provisioning works in Windows client](provisioning-how-it-works.md) -- [Install Windows Configuration Designer](provisioning-install-icd.md) -- [Create a provisioning package](provisioning-create-package.md) -- [Apply a provisioning package](provisioning-apply-package.md) -- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md) -- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md) -- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md) -- [Windows Configuration Designer command-line interface (reference)](provisioning-command-line.md) -- [Create a provisioning package with multivariant settings](provisioning-multivariant.md) - +> [!NOTE] +> When applying provisioning packages using Powershell cmdlets, the default behavior is to suppress the prompt that appears when applying an unsigned provisioning package. This is by design so that provisioning packages can be applied as part of existing scripts. diff --git a/windows/configuration/provisioning-packages/provisioning-script-to-install-app.md b/windows/configuration/provisioning-packages/provisioning-script-to-install-app.md index c9aff98df4..05fc65f6c1 100644 --- a/windows/configuration/provisioning-packages/provisioning-script-to-install-app.md +++ b/windows/configuration/provisioning-packages/provisioning-script-to-install-app.md @@ -1,8 +1,8 @@ --- title: Use a script to install a desktop app in provisioning packages -description: With Windows 10/11, you can create provisioning packages that let you quickly and efficiently configure a device without having to install a new image. +description: With Windows, you can create provisioning packages that let you quickly and efficiently configure a device without having to install a new image. ms.topic: how-to -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- # Use a script to install a desktop app in provisioning packages @@ -57,14 +57,14 @@ Create a script to perform whatever work is needed to install the application(s) You don't need to create an orchestrator script. You can have one command line per app. If necessary, you can create a script that logs the output per app, as mentioned below (rather than one orchestrator script for the entire provisioning package). ->[!NOTE] ->All actions performed by the script must happen silently, showing no UI and requiring no user interaction. +> [!NOTE] > ->The scripts will be run on the device in system context. +> - All actions performed by the script must happen silently, showing no UI and requiring no user interaction. +> - The scripts will be run on the device in system context. ### Debugging example -Granular logging isn't built in, so the logging must be built into the script itself. Here's an example script that logs 'Hello World' to a logfile. When run on the device, the logfile will be available after provisioning is completed. As you'll see in the following examples, it's recommended that you log each action that your script performs. +Granular logging isn't built in, so the logging must be built into the script itself. Here's an example script that logs `Hello World` to a logfile. When run on the device, the logfile will be available after provisioning is completed. As you'll see in the following examples, it's recommended that you log each action that your script performs. ```log set LOGFILE=%SystemDrive%\HelloWorld.log @@ -178,20 +178,14 @@ When you're done, [build the package](provisioning-create-package.md#build-packa 1. The command line will be executed with the directory the CommandFiles were deployed to as the working directory. This means you do not need to specific the full path to assets in the command line or from within any script. 1. The runtime provisioning component will attempt to run the scripts from the provisioning package at the earliest point possible, depending on the stage when the PPKG was added. For example, if the package was added during the Out-of-Box Experience, it will be run immediately after the package is applied, while the out of box experience is still happening. This is before the user account configuration options are presented to the user. A spinning progress dialog will appear and "please wait" will be displayed on the screen. - >[!NOTE] - >There is a timeout of 30 minutes for the provisioning process at this point. All scripts and installs need to complete within this time. + > [!NOTE] + > There is a timeout of 30 minutes for the provisioning process at this point. All scripts and installs need to complete within this time. 1. The scripts are executed in the background as the rest of provisioning continues to run. For packages added on existing systems using the double-click to install, there's no notification that provisioning or script execution has completed -## Related articles +## Next steps -- [Provisioning packages for Windows client](provisioning-packages.md) -- [How provisioning works in Windows client](provisioning-how-it-works.md) -- [Install Windows Configuration Designer](provisioning-install-icd.md) -- [Create a provisioning package](provisioning-create-package.md) -- [Apply a provisioning package](provisioning-apply-package.md) -- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md) -- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md) -- [Windows Configuration Designer command-line interface (reference)](provisioning-command-line.md) -- [PowerShell cmdlets for provisioning Windows client (reference)](provisioning-powershell.md) -- [Create a provisioning package with multivariant settings](provisioning-multivariant.md) +> [!div class="nextstepaction"] +> Learn more about applying a provisioning package: +> +> [Apply a provisioning package](provisioning-apply-package.md) \ No newline at end of file diff --git a/windows/configuration/provisioning-packages/provisioning-uninstall-package.md b/windows/configuration/provisioning-packages/provisioning-uninstall-package.md index 6615407051..a4f68379ee 100644 --- a/windows/configuration/provisioning-packages/provisioning-uninstall-package.md +++ b/windows/configuration/provisioning-packages/provisioning-uninstall-package.md @@ -1,19 +1,18 @@ --- -title: Uninstall a provisioning package - reverted settings -description: This article lists the settings that are reverted when you uninstall a provisioning package on Windows 10/11 desktop client devices. +title: Settings changed when you uninstall a provisioning package +description: This article lists the settings that are reverted when you uninstall a provisioning package on Windows desktop client devices. ms.topic: conceptual -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- # Settings changed when you uninstall a provisioning package -When you uninstall a provisioning package, only certain settings are revertible. This article lists the settings that are reverted when you uninstall a provisioning package. - -As an administrator, you can uninstall by using the **Add or remove a package for work or school** option available under **Settings** > **Accounts** > **Access work or school**. +When you uninstall a provisioning package, only certain settings are revertible. This article lists the settings that are reverted when you uninstall a provisioning package. As an administrator, you can uninstall by using the **Add or remove a package for work or school** option available under **Settings** > **Accounts** > **Access work or school**. When a provisioning package is uninstalled, some of its settings are reverted, which means the value for the setting is changed to the next available or default value. Not all settings, however, are revertible. -Only settings in the following lists are revertible. +> [!IMPORTANT] +> Only settings in the following lists are revertible. ## Registry-based settings @@ -21,8 +20,8 @@ The registry-based settings that are revertible when a provisioning package is u - [Wi-Fi Sense](../wcd/wcd-connectivityprofiles.md#wifisense) - [CountryAndRegion](../wcd/wcd-countryandregion.md) -- DeviceManagement / PGList/ LogicalProxyName -- UniversalAppInstall / LaunchAppAtLogin +- [DeviceManagement / PGList / LogicalProxyName](../wcd/wcd-devicemanagement.md#pglist) +- [UniversalAppInstall](../wcd/wcd-universalappinstall.md) / LaunchAppAtLogin - [Power](/previous-versions//dn953704(v=vs.85)) - [TabletMode](../wcd/wcd-tabletmode.md) - [Maps](../wcd/wcd-maps.md) @@ -33,26 +32,26 @@ The registry-based settings that are revertible when a provisioning package is u ## CSP-based settings -Here is the list of revertible settings based on configuration service providers (CSPs). +Here's the list of revertible settings based on configuration service providers (CSPs). -[ActiveSync CSP](/windows/client-management/mdm/activesync-csp) -[AppLocker CSP](/windows/client-management/mdm/applocker-csp) -[BrowserFavorite CSP](/windows/client-management/mdm/browserfavorite-csp) -[CertificateStore CSP](/windows/client-management/mdm/certificatestore-csp) -[ClientCertificateInstall CSP](/windows/client-management/mdm/clientcertificateinstall-csp) -[RootCATrustedCertificates CSP](/windows/client-management/mdm/rootcacertificates-csp) -[CM_CellularEntries CSP](/windows/client-management/mdm/cm-cellularentries-csp) -[CM_ProxyEntries CSP](/windows/client-management/mdm/cm-proxyentries-csp) -[CMPolicy CSP](/windows/client-management/mdm/cmpolicy-csp) -[CMPolicyEnterprise CSP](/windows/client-management/mdm/cmpolicyenterprise-csp) -[EMAIL2 CSP](/windows/client-management/mdm/email2-csp) -[EnterpriseAPN CSP](/windows/client-management/mdm/enterpriseapn-csp) -[EnterpriseDesktopAppManagement CSP](/windows/client-management/mdm/enterprisedesktopappmanagement-csp) -[EnterpriseModernAppManagement CSP](/windows/client-management/mdm/enterprisemodernappmanagement-csp) -[NAP CSP](/windows/client-management/mdm/nap-csp) -[PassportForWork CSP](/windows/client-management/mdm/passportforwork-csp) -[Provisioning CSP](/windows/client-management/mdm/provisioning-csp) -[SecureAssessment CSP](/windows/client-management/mdm/secureassessment-csp) -[VPN CSP](/windows/client-management/mdm/vpn-csp) -[VPNv2 CSP](/windows/client-management/mdm/vpnv2-csp) -[WiFi CSP](/windows/client-management/mdm/wifi-csp) +- [ActiveSync CSP](/windows/client-management/mdm/activesync-csp) +- [AppLocker CSP](/windows/client-management/mdm/applocker-csp) +- [BrowserFavorite CSP](/windows/client-management/mdm/browserfavorite-csp) +- [CertificateStore CSP](/windows/client-management/mdm/certificatestore-csp) +- [ClientCertificateInstall CSP](/windows/client-management/mdm/clientcertificateinstall-csp) +- [RootCATrustedCertificates CSP](/windows/client-management/mdm/rootcacertificates-csp) +- [CM_CellularEntries CSP](/windows/client-management/mdm/cm-cellularentries-csp) +- [CM_ProxyEntries CSP](/windows/client-management/mdm/cm-proxyentries-csp) +- [CMPolicy CSP](/windows/client-management/mdm/cmpolicy-csp) +- [CMPolicyEnterprise CSP](/windows/client-management/mdm/cmpolicyenterprise-csp) +- [EMAIL2 CSP](/windows/client-management/mdm/email2-csp) +- [EnterpriseAPN CSP](/windows/client-management/mdm/enterpriseapn-csp) +- [EnterpriseDesktopAppManagement CSP](/windows/client-management/mdm/enterprisedesktopappmanagement-csp) +- [EnterpriseModernAppManagement CSP](/windows/client-management/mdm/enterprisemodernappmanagement-csp) +- [NAP CSP](/windows/client-management/mdm/nap-csp) +- [PassportForWork CSP](/windows/client-management/mdm/passportforwork-csp) +- [Provisioning CSP](/windows/client-management/mdm/provisioning-csp) +- [SecureAssessment CSP](/windows/client-management/mdm/secureassessment-csp) +- [VPN CSP](/windows/client-management/mdm/vpn-csp) +- [VPNv2 CSP](/windows/client-management/mdm/vpnv2-csp) +- [WiFi CSP](/windows/client-management/mdm/wifi-csp) diff --git a/windows/configuration/provisioning-packages/toc.yml b/windows/configuration/provisioning-packages/toc.yml index afd0f1f158..2e5266898d 100644 --- a/windows/configuration/provisioning-packages/toc.yml +++ b/windows/configuration/provisioning-packages/toc.yml @@ -1,29 +1,35 @@ items: - name: Overview href: provisioning-packages.md - - name: How provisioning works in Windows client + - name: How provisioning works href: provisioning-how-it-works.md - - name: Introduction to configuration service providers (CSPs) - href: how-it-pros-can-use-configuration-service-providers.md - - name: Install Windows Configuration Designer - href: provisioning-install-icd.md - - name: Create a provisioning package - href: provisioning-create-package.md - - name: Apply a provisioning package - href: provisioning-apply-package.md - - name: Settings changed when you uninstall a provisioning package - href: provisioning-uninstall-package.md - - name: Provision PCs with common settings for initial deployment (desktop wizard) - href: provision-pcs-for-initial-deployment.md - - name: Provision PCs with apps - href: provision-pcs-with-apps.md - - name: Use a script to install a desktop app in provisioning packages - href: provisioning-script-to-install-app.md + - name: Quickstarts + items: + - name: Install Windows Configuration Designer + href: provisioning-install-icd.md + - name: Create a provisioning package (desktop wizard) + href: provision-pcs-for-initial-deployment.md + - name: Create a provisioning package (advanced) + href: provisioning-create-package.md + - name: Apply a provisioning package + href: provisioning-apply-package.md + - name: Provision apps + items: + - name: Provision apps + href: provision-pcs-with-apps.md + - name: Use a script to install a desktop app + href: provisioning-script-to-install-app.md - name: Create a provisioning package with multivariant settings href: provisioning-multivariant.md - - name: PowerShell cmdlets for provisioning Windows client (reference) - href: provisioning-powershell.md - name: Diagnose provisioning packages href: diagnose-provisioning-packages.md - - name: Windows Configuration Designer command-line interface (reference) - href: provisioning-command-line.md \ No newline at end of file + - name: Settings changed when you uninstall a provisioning package + href: provisioning-uninstall-package.md + - name: Reference + items: + - name: Introduction to configuration service providers (CSPs) + href: how-it-pros-can-use-configuration-service-providers.md + - name: Windows Configuration Designer command-line interface + href: provisioning-command-line.md + - name: PowerShell cmdlets for provisioning Windows client + href: provisioning-powershell.md \ No newline at end of file