Einige IIS-Verwaltungs-Cmdlets 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 führen Windows Server 2008 R2 aus.
  • Sie verwenden New-WebApplication ConvertTo-WebApplication oder cmdlets.

In diesem Szenario werden Ihre Skripts in PowerShell 4.0 wesentlich langsamer ausgeführt als in PowerShell 2.0. Dieses Problem tritt nicht auf, wenn Sie dieselben Skripts in Windows Server 2012 oder höher ausführen.

Ursache

This issue occurs because the New-WebApplication and ConvertTo-WebApplication cmdlets generate a high volume of Component Object Model (COM) calls. Standardmäßig wird PowerShell 4.0 im STA-Threadingmodell und PowerShell 2.0 im MTA-Threadingmodell 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 umgebung oder höher wesentlich schneller ausgeführt.

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

Powershell.exe -mta

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

Powershell.exe -version 2