2

How does one do the following things with IIS 5.1/6.0 using PowerShell:

  • Enable HTTP Compression
  • Set GZIP and DEFLATE file extensions
  • Enable Dynamic and Static compression for GZIP and DEFLATE
  • Set the compression lvl

Any pointers to tutorials on this would be appreciated as I have yet to come across any that explain how to do this programmatically.

brad
  • 283
  • 2
  • 7

2 Answers2

1

Your initial line of attack with PowerShell is to use WMI. Unfortunately, the root\MicrosoftIisV2 namespace is set up with non-standard security settings which you can't change in PS (not in V1, at least, V2 may be different).

I would suggest looking at the IIS ADSI provider, specifically the IIsCompressionScheme object - http://msdn.microsoft.com/en-us/library/ms524574.aspx

You may be able to work with this in PowerShell by manipulating

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

However, ADSI is pretty evil, so you'll have a fairly steep learning curve.

user2278
  • 873
  • 5
  • 9
0

Metabase Explorer lets you set these values. You can automate setting values by linking against IISMbLib.dll, as a post of mine to StackOverflow explains.

You could do something similar with this, or you could use the ADSI namespace as owenevans00 says.

crb
  • 7,998
  • 1
  • 38
  • 53