Al migrar de Windows 11 22H2 a 24H2 muchas empresas descubren que la vieja utilidad wmic.exe
desaparece después de la fase OOBE. Este artículo explica por qué ocurre, qué riesgos implica conservarla a la fuerza y cómo modernizar los scripts para que la transición no frene el despliegue.
Resumen de la pregunta
Durante la secuencia de tareas de SCCM se instala el Feature‑on‑Demand (FOD) “WMI Command‑line Utility”. wmic.exe
queda visible en C:\Windows\System32\wbem\
, pero tras completar OOBE e iniciar sesión, el binario es eliminado sin aviso mientras otros FOD permanecen. Desde la compilación 24H2 la instalación de FOD además se ralentiza (5–15 min).
Por qué WMIC se elimina en Windows 11 24H2
- Deprecación formal: Microsoft marcó WMIC como obsoleto desde Windows 10 21H1. En Windows 11 24H2 el componente entra en la lista de “retirada automática” y el servicio Cloud Experience Host lo desinstala durante OOBE.
- Evidencia en registros: Cbs.log muestra eventos
DISM DISM Decommission Package
para Microsoft‑Windows‑WMIC‑FoD. El proceso es deliberado y se repite en cada reinicio si el paquete vuelve a instalarse. - Razones de seguridad: WMIC carece de hardening frente a técnicas de living‑off‑the‑land (LOLBin). Eliminarlo reduce la superficie de ataque sin romper APIs modernas basadas en WMI/CIM.
Impacto para la organización
Área | Riesgo al depender de WMIC |
---|---|
Compatibilidad | Scripts de inventario, instaladores y monitores heredados pueden fallar al no encontrar wmic.exe . |
Soporte | Microsoft ya no publica parches; cualquier vulnerabilidad futura quedará sin corregir. |
Auditoría y cumplimiento | Herramientas de escaneo que invoquen WMIC pueden incumplir requisitos de hardening (CIS, DISA STIG). |
Experiencia de usuario | Ingenieros de campo podrían reinstalar WMIC manualmente, generando configuraciones inconsistentes y tickets adicionales. |
Estrategias de mitigación
Migrar a PowerShell y CIM (recomendado)
La vía soportada es reemplazar llamadas WMIC por cmdlets nativos. La tabla siguiente muestra equivalencias directas:
Comando WMIC | Cmdlet PowerShell |
---|---|
wmic cpu get name,DeviceID | Get-CimInstance Win32_Processor | Select-Object Name,DeviceID |
wmic os get caption,version | Get-CimInstance Win32_OperatingSystem | Select-Object Caption,Version |
wmic product where name="X" call uninstall | Get-CimInstance Win32_Product -Filter 'Name="X"' | Invoke-CimMethod -MethodName Uninstall |
Si los scripts son .bat o .cmd, invoque PowerShell de forma inline:
powershell -NoProfile -ExecutionPolicy Bypass -Command ^
"Get-CimInstance -ClassName Win32_Service | Where-Object StartType -eq 'Disabled'"
Ventajas:
- Compatibilidad multiplataforma (Windows 10+, Windows Server 2016+).
- Remoting moderno vía WS‑Man o DCOM.
- Mejor control de errores con
try / catch
. - Documentación y ejemplos activos en Microsoft Learn y PowerShell Gallery.
Redistribuir WMIC como último recurso
- Extraiga
wmic.exe
,wmi.dll
y dependencias desde una ISO 22H2. - Cópielos en
%ProgramFiles%\LegacyWMIC\
y añada esa ruta alPATH
. - Incluya el paquete en SCCM como aplicación “LegacyWMIC”.
Desventajas: no está soportado, se rompe con cada Cumulative Update que actualice WMI, y crea un vector de Shadow IT.
Ejecutar procesos heredados en hosts antiguos o contenedores
Para una transición ordenada:
- Mantenga un servidor de administración con Windows Server 2022 LTS para utilidades que dependan de WMIC.
- Utilice contenedores Windows basados en la imagen 22H2 para aislar programas legados.
- Apague el acceso de red directa desde equipos cliente a WMIC para evitar dependencias nuevas.
Revisar el ciclo de vida de software dependiente
Comuníquese con los proveedores. La mayoría lanzó parches en 2022 cuando Microsoft anunció la retirada. Documente los ID de versión mínimos compatibles en su CMDB y añada reglas de compliance en Intune o ConfigMgr.
Acelerar la instalación de Features on Demand en 24H2
Qué cambió
Desde 24H2 Windows ya no descarga paquetes FOD monolíticos; usa un modelo “deliver‑as‑needed”. Si la red inspecciona TLS, la descarga se multiplexa y los paquetes tardan 5 min o más.
Dominio y puertos que deben estar permitidos
Dominio | Puerto | Función |
---|---|---|
dl.delivery.mp.microsoft.com | 443 | FOD, .NET Framework, Cumulative Updates |
tsfe.trafficshaping.dsp.mp.microsoft.com | 443 | Coordinación de telemetría de descarga |
emdl.ws.microsoft.com | 443 | Catálogos ESD, metadata |
Alternativas sin conexión
- Descargue la ISO “Windows 11 24H2 Features on Demand” desde VLSC/MSDN.
- Monte la ISO en un share DFS (
\\infra\images\FOD24H2
). - En la Task Sequence de SCCM añada:
DISM /Image:%OSDTargetSystemDrive%\ /Add-Capability ^ /CapabilityName:WMIC.ManagementTools~~~~0.0.1.0 ^ /Source:"\\infra\images\FOD24H2" /LimitAccess
- Deshabilite la fase “Install Software Updates” hasta después del primer inicio para evitar timeouts.
Hoja de ruta recomendada hasta 2026
- Q3 2025: Inventario de scripts/sistemas que llaman a WMIC; comenzar refactorización.
- Q4 2025: Probar todos los scripts convertidos en un anillo piloto de 50 PCs 24H2.
- Q1 2026: Retirar WMIC de servidores de laboratorio; desplegar políticas de AppLocker que bloqueen su ejecución.
- Q2 2026: Actualizar documentación interna y formación técnica; presupuesto para herramientas de monitorización que usen CIM.
Preguntas frecuentes
¿Puedo reinstalar WMIC con DISM después de OOBE?
Podrá, pero Windows lo eliminará de nuevo en el siguiente arranque, porque la política de retirada se ejecuta en cada fase online servicing.
¿Existen alternativas en línea de comandos que no requieran PowerShell?
Para tareas simples puede usar systeminfo
, sc
o wmic.exe
embebido en un contenedor 22H2, pero la ruta recomendada sigue siendo PowerShell 7 u 8.
¿PowerShell 7 tiene dependencia de .NET Framework?
No. Desde PowerShell 6+ se compila sobre .NET Core (ahora .NET 8), por lo que no necesita el Framework clásico.
¿Cómo valido que ningún script sigue usando WMIC?
Active el Sysmon Event 1 para registrar procesos y filtre “wmic.exe”; exporte a Sentinel/ELK y genere alertas.
Conclusión y recomendación final
WMIC forma parte del legado de la era Windows XP. Desde la construcción 24H2 el sistema operativo impide su persistencia para proteger la plataforma. Aunque sea posible copiar el binario, hacerlo mantiene una dependencia técnica y regulatoria que estallará tarde o temprano. Planifique la sustitución por cmdlets CIM, mantenga un repositorio local de Features on Demand para acelerar los despliegues y utilice contenedores o hosts temporales solo mientras migra el software crítico. Al adoptar estas medidas su organización evitará retrasos, mejorará la postura de seguridad y preparará el camino para futuras versiones de Windows.