web-dev-qa-db-ja.com

IIS圧縮:Powershellを使用してGZIPとDEFLATEを有効にする

PowerShellを使用してIIS 5.1/6.0で次のことを行うにはどうすればよいですか?

  • HTTP圧縮を有効にする
  • GZIPおよびDEFLATEファイル拡張子を設定します
  • GZIPとDEFLATEの動的および静的圧縮を有効にする
  • 圧縮レベルを設定します

これに関するチュートリアルへのポインタは、プログラムでこれを行う方法を説明するものにまだ出会っていないので、ありがたいです。

2
brad

PowerShellを使用した最初の攻撃は、WMIを使用することです。残念ながら、root\MicrosoftIisV2名前空間は、PSでは変更できない非標準のセキュリティ設定で設定されています(V1ではなく、少なくともV2は異なる場合があります)。

IIS ADSIプロバイダー、具体的にはIIsCompressionSchemeオブジェクト http://msdn.Microsoft.com/en-us/library/ms524574.aspx を確認することをお勧めします。

PowerShellでこれを操作するには、次の操作を行うことができます。

$obj = [ADSI]"IIS://MachineName/W3SVC/Filters/Compression/Scheme"

ただし、ADSIはかなり邪悪なので、学習曲線はかなり急になります。

1
user2278

Metabase Explorerでは、これらの値を設定できます。 StackOverflowへの私の投稿で説明されています のように、IISMbLib.dllに対してリンクすることで値の設定を自動化できます。

これと同様のことを行うことも、owenevans00が言うようにADSI名前空間を使用することもできます。

0
crb