如何使用 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 命名空间。