Einige Cmdlets für die IIS-Verwaltung werden in PowerShell 4.0 langsam ausgeführt

Dieser Artikel hilft Ihnen, das Problem zu beheben, bei dem Microsoft-Internetinformationsdienste (IIS)-Verwaltungs-Cmdlets in PowerShell 4.0 langsam ausgeführt werden.

Ursprüngliche Produktversion:   Internetinformationsdienste, Windows Server 2008 R2, Windows PowerShell 4.0
Ursprüngliche KB-Nummer:   3144309

Problembeschreibung

Stellen Sie sich folgendes Szenario vor:

  • Sie verwenden das IIS-Webverwaltungsmodul zum Erstellen und Verwalten von IIS-Webanwendungen mit PowerShell-Skripts.
  • Sie werden Windows Server 2008 R2.
  • Sie verwenden oder New-WebApplication ConvertTo-WebApplication cmdlets.

In diesem Szenario werden Ihre Skripts in PowerShell 4.0 wesentlich langsamer ausgeführt als in PowerShell 2.0. This issue doesn't occur if you run the same scripts in Windows Server 2012 or later.

Ursache

This issue occurs because New-WebApplication the and ConvertTo-WebApplication cmdlets generate a high volume of Component Object Model (COM) calls. Standardmäßig wird PowerShell 4.0 im STA-Threading-Modell und PowerShell 2.0 im MTA-Threading-Modell ausgeführt.

Lösung

Migrieren Sie nach Möglichkeit zu Windows Server 2012 oder höher. Einige Cmdlets werden in PowerShell 4.0 in einer Windows Server 2012 oder höher wesentlich schneller ausgeführt.

Um die Geschwindigkeit zu verbessern, führen Sie PowerShell mit dem Switch -mta aus:

Powershell.exe -mta

Alternativ können Sie PowerShell mit dem Switch -version 2 ausführen:

Powershell.exe -version 2