いくつかの IIS 管理コマンドレットが PowerShell 4.0 で動作が遅くなります。

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:3144309
現象

次のような状況を考えます。

  • 作成して、PowerShell スクリプトを使用して IIS web アプリケーションを管理するため、IIS web 管理モジュールを使用しています。
  • Windows Server 2008 R2 を実行しています。
  • 新規の web アプリケーションまたはweb アプリケーションの相互の変換のコマンドレットを使用しています。

このシナリオでは、スクリプトを PowerShell 4.0 では PowerShell 2.0 よりも非常に低速実行します。

この問題は、Windows Server 2012 以降では、同じスクリプトを実行する場合に発生しません。

原因
この問題は、新規の web アプリケーションweb アプリケーションの相互の変換のコマンドレットが大量の COM 呼び出しを生成するために発生します。既定では、PowerShell 4.0、STA で実行スレッド モデルです。PowerShell 2.0 は、スレッド モデル、MTA で実行されます。
解決方法

可能な場合は、Windows Server 2012 またはそれ以降を移行します。いくつかのコマンドレットでは、ずっと PowerShell 4.0 では、Windows Server 2012 環境で高速以降を実行します。

この現象を回避するには、mtaのスイッチを使用して PowerShell を実行します。

Powershell.exe mta

別の回避策を使用して、PowerShell を実行し、のバージョン 2スイッチします。

Powershell.exe-バージョン 2

警告: この記事は自動翻訳されています

プロパティ

文書番号:3144309 - 最終更新日: 04/29/2016 23:10:00 - リビジョン: 1.0

  • kbmt KB3144309 KbMtja
フィードバック