IIS 压缩:使用 Powershell 启用 GZIP 和 DEFLATE

IIS 压缩:使用 Powershell 启用 GZIP 和 DEFLATE

如何使用 PowerShell 对 IIS 5.1 / 6.0 执行以下操作:

  • 启用 HTTP 压缩
  • 设置 GZIP 和 DEFLATE 文件扩展名
  • 为 GZIP 和 DEFLATE 启用动态和静态压缩
  • 设置压缩等级

任何指向这方面的教程的指针都会很感激,因为我还没有遇到任何解释如何以编程方式执行此操作的教程。

答案1

使用 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 相当邪恶,因此您的学习曲线会相当陡峭。

答案2

Metabase Explorer 允许您设置这些值。您可以通过链接到 IISMbLib.dll 来自动设置值,作为我在 StackOverflow 上发的帖子解释道

您可以做类似的事情,或者可以像 owenevans00 所说的那样使用 ADSI 命名空间。

相关内容