Algunos cmdlets de administración de IIS se ejecutan lentamente en PowerShell 4.0

Este artículo le ayuda a resolver el problema en el que los cmdlets de Microsoft Internet Information Services (IIS) se ejecutan lentamente en PowerShell 4.0.

Versión original del producto:   Internet Information Services, Windows Server 2008 R2, Windows PowerShell 4.0
Número KB original:   3144309

Síntomas

Imagine la siguiente situación:

  • Está usando el módulo de administración web de IIS para crear y administrar aplicaciones web de IIS con scripts de PowerShell.
  • Está ejecutando Windows Server 2008 R2.
  • Está usando o New-WebApplication ConvertTo-WebApplication cmdlets.

En este escenario, los scripts se ejecutan mucho más lentos en PowerShell 4.0 que en PowerShell 2.0. Este problema no se produce si ejecuta los mismos scripts en Windows Server 2012 o versiones posteriores.

Causa

Este problema se produce porque los cmdlets y generan un gran volumen de llamadas del Modelo de objetos New-WebApplication ConvertTo-WebApplication componentes (COM). De forma predeterminada, PowerShell 4.0 se ejecuta en el modelo de subprocesos STA y PowerShell 2.0 se ejecuta en el modelo de subprocesos MTA.

Solución

Si es posible, migra a Windows Server 2012 o posterior. Algunos cmdlets se ejecutan mucho más rápido en PowerShell 4.0 en un entorno de Windows Server 2012 o posterior.

Para mejorar la velocidad, ejecute PowerShell con el -mta modificador:

Powershell.exe -mta

Como alternativa, ejecute PowerShell con el -version 2 modificador:

Powershell.exe -version 2