Migrating from MDT-Integrated OSD to Native MECM Task Sequences: A Real-World Journey

 Operating System Deployment (OSD) is often one of the most critical tasks performed by endpoint engineering teams. While Microsoft Configuration Manager (MECM) provides the deployment engine, technicians still need a simple, consistent, and reliable method for selecting deployment settings and ensuring devices are built according to organizational standards.

To address this challenge, I developed the Workplace Deployment Center, a PowerShell and WPF-based deployment wizard designed to simplify and standardize the device provisioning process.

  • The Challenge

In a large enterprise environment, deployment technicians frequently need to configure:

  • Deployment Region
  • Domain Assignment
  • Site Code
  • Keyboard Layout
  • Device Type
  • Computer Naming Standards

When these settings are manually entered, errors can occur and lead to:

  • Incorrect computer names
  • Wrong regional settings
  • Inconsistent deployments
  • Additional support effort after build completion

The goal was to provide a guided user experience that eliminates guesswork and enforces deployment standards.


  • Solution Overview

The Workplace Deployment Center provides a graphical deployment wizard that integrates directly with MECM Task Sequences.

The tool allows technicians to:

  • Select deployment region and domain
  • Choose the correct site code
  • Select keyboard layout
  • Automatically determine device type
  • Generate a compliant computer name
  • Validate configuration before deployment
  • Write deployment values to Task Sequence variables

The result is a faster, more accurate deployment process.


  • Key Features
  • Region-Based Deployment Configuration

The wizard supports multiple global regions including:

  • APAC
  • AMER
  • EMEA
  • INDIA
  • CHINA
  • JAPAN
  • UKI
  • DACH
  • NORDICS
  • LATAM
  • MIDDLE EAST
  • AFRICA
  • CANADA
  • USA

Each region contains its own domains and site codes, making selection simple and scalable.

Automating a Smart Windows 11 Upgrade Using PsExec, PowerShell, and SCCM-Ready Logic

 

Upgrading enterprise devices to Windows 11 at scale requires careful orchestration. Devices must meet hardware requirements, have enough disk space, maintain user productivity, and ensure minimal disruption. This Smart Windows 11 Upgrade solution delivers a fully automated, resilient, and user-aware upgrade workflow using PsExec, batch scripting, and PowerShell automation.

This implementation is designed for enterprise environments, ensuring reliability, fallback mechanisms, logging, and compliance checks before initiating the in-place upgrade (IPU).


  • 🚀 Solution Overview

This solution consists of three major components:

  1. PsExec Launcher (Remote Execution Layer)
  2. Batch Script (Content Distribution & Trigger Layer)
  3. PowerShell Scripts (Logic, Validation & Upgrade Execution)

Together, they create a robust and self-healing upgrade workflow.


  • 🔹 1. Remote Execution Using PsExec

The process begins with:

PowerShell

psexec @file.txt -s -h -d -c -f DC_SmartUpgrade.bat

``

Show more lines

  • Key Features:
  • @file.txt → Targets multiple systems
  • -s → Runs as SYSTEM (highest privilege)
  • -h → Elevated execution
  • -d → Non-blocking execution
  • -c -f → Copies and overwrites the batch script
  • Purpose:

This enables mass deployment of the upgrade trigger across endpoints without requiring manual intervention.


  • 🔹 2. Batch Script – Smart Content Staging

The batch script acts as a resilient launcher and content distributor.

  • Key Capabilities:
  • ✅ Multi-Server Fallback

BAT

for %%S in ("%SERVER_SHARE1%" "%SERVER_SHARE2%" "%SERVER_SHARE3%")

Show more lines

Automating Language Pack Installation with PowerShell and SCCM

 

Managing language packs across enterprise devices is often a complex and user-dependent process. This PowerShell-based solution simplifies the entire lifecycle of language pack deployment, from user selection to installation and status tracking, making it scalable and enterprise-ready.

This implementation consists of three coordinated components:

  • Dummy Package Script (initialization and registry setup)
  • User Prompt Script (region/language selection and user interaction)
  • Installation Script (DISM-based language pack deployment)

Together, these scripts provide a complete, automated workflow for multilingual environments.


  • Overview of the Solution

The solution is designed to:

  • Allow users to select region and preferred language
  • Store selections using SCCM task sequence variables and registry
  • Install language packs dynamically using DISM
  • Provide user feedback (success/failure popups)
  • Maintain centralized logging for auditing and troubleshooting

  • 1. Dummy Package Script (Initialization Layer)

The dummy script prepares the environment by ensuring the required registry structure exists.

  • Key Functionality:
  • Creates registry path:
  • HKLM:\SOFTWARE\LPs
  • Initializes logging at:
  • C:\ProgramData\\LogFiles
  • Logs whether the registry path was newly created or already exists
  • Purpose:

This acts as a foundation step to track installation state and user selections consistently across the deployment lifecycle.


  • 2. User Prompt Script (Interactive Layer)

This script provides a Windows Forms-based UI for users to select their region and corresponding language.

  • Key Features:
  • Region-to-Language Mapping
  • Regions (Asia, Europe, America) dynamically populate language options
  • Ensures users only select valid combinations
  • Language Code Mapping