DSC v3 Provisioning Manager

Inject DSC resources into Windows 11 image and configure provisioning

Windows 11 DSC v3

Workflow Overview

1

Select Windows 11 Image

Choose the Windows 11 WIM or VHDX file you want to modify

2

Add DSC Resources

Include required DSC v3 resources and modules

3

Configure Provisioning

Set up system and user context configurations

4

Build & Deploy

Generate the customized image and deployment package

System Configuration

Global settings applied to the entire system

  • Network settings
  • Security policies
  • Windows features

User Configuration

Settings applied to each user profile

  • Application preferences
  • Environment variables
  • Start menu layout

Continuous Compliance

Ongoing configuration management

  • Automatic remediation
  • Drift detection
  • Reporting

Inject DSC Resources

PSDesiredStateConfiguration
Core module
ComputerManagementDsc
v9.0.0
SecurityPolicyDsc
v2.10.0
NetworkingDsc
v8.2.0

ApplyAndAutoCorrect

Apply and monitor for drift

ApplyOnly

Apply once

ApplyAndMonitor

Apply and report drift

Configuration Script

configuration.ps1
# Windows 11 DSC v3 Configuration
configuration Win11EnterpriseConfig {
    Import-DscResource -ModuleName PSDesiredStateConfiguration
    Import-DscResource -ModuleName ComputerManagementDsc
    Import-DscResource -ModuleName NetworkingDsc

    Node 'localhost' {
        # System-wide configurations
        WindowsFeature 'NetFramework45' {
            Name   = 'NET-Framework-45-Core'
            Ensure = 'Present'
        }

        Registry 'DisableAutoRestartSignOn' {
            Key       = 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System'
            ValueName = 'DisableAutomaticRestartSignOn'
            ValueData = '1'
            ValueType = 'Dword'
            Ensure    = 'Present'
        }

        # User context configurations
        Script 'ConfigureStartLayout' {
            GetScript  = { @{ Result = (Test-Path "$env:ProgramData\Microsoft\Windows\Start Menu\Programs\layout.xml") } }
            SetScript  = {
                $layout = @"
<LayoutModificationTemplate Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
    <LayoutOptions StartTileGroupCellWidth="6" />
    <DefaultLayoutOverride>
        <StartLayoutCollection>
            <defaultlayout:StartLayout GroupCellWidth="6" xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout">
                <start:Group Name="Productivity" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout">
                    <start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" />
                </start:Group>
            </defaultlayout:StartLayout>
        </StartLayoutCollection>
    </DefaultLayoutOverride>
</LayoutModificationTemplate>
"@
                $layout | Out-File "$env:ProgramData\Microsoft\Windows\Start Menu\Programs\layout.xml" -Force
            }
            TestScript = { Test-Path "$env:ProgramData\Microsoft\Windows\Start Menu\Programs\layout.xml" }
        }
    }
}

# Generate MOF file
Win11EnterpriseConfig -OutputPath "C:\DSCConfig\"
DSC v3 supports cross-node dependencies and improved idempotency

Build & Deploy

Ready to build

Estimated time: 8-12 minutes

Made with DeepSite LogoDeepSite - 🧬 Remix