TEST IT: New IISAdministration Module

PowerShell for Admins

It’s no secret that Microsoft’s WebAdministration module isn’t universally loved. It’s functionality isn’t deep, and it doesn’t play well in the PowerShell pipeline. There are also a number of things in it that run really slowly, making bulk administration a pain.

Last week, Baris Caglar announced that Windows 10 contains a new IISAdministration module, which is a rough draft of what is hoped to be a final module in Windows Server 2016. If you use IIS, get hold of this and start testing so the team can get feedback. Note that this is a feature of Windows 10; I haven’t yet been able to test and see if file-copying it to another version of Windows will work or not (if you try, please post your results in a comment). The module seems to rely heavily on the IIS Administration .NET class, going so far as giving you easy access to an instance of it so you can code against it directly for whatever the module itself doesn’t offer.

IIS as a product is in a weird place, because it no longer has a dedicated sub-team within the Windows Server team (at least, it didn’t last I checked). That’s made it difficult for anyone at Microsoft to produce a better administration module, since nobody really “owned” the product as their daily job, and nobody was available to be tasked with PowerShell improvements. Hopefully this new module is a step in the right direction at last.

Some of what we still don’t know:

  • Will this be released under an open-source license, perhaps posted on GitHub where others can contribute?
  • Is the Win2016 release a for-sure on finalizing this module, or is that more a target? How will subsequent releases be made available?
  • Can this be made available for downlevel operating systems? The .NET class in question has been around since IIS7, so it seems in theory that the code would run on older versions of Windows.

Unfortunately, because Microsoft’s IIS.NET blog system doesn’t seem to do well with handling spam 😉 I’m not sure asking the author there will produce any answers – but let’s try!

5 Responses to " TEST IT: New IISAdministration Module "

  1. GS says:

    New module seems to have less then half of cmdlets compared to WebAdministration module and absolutely no cmdlets dealing with application pools except for retrieving them. THis is most common task with IIS is to recycle application pool and there is none in new module. I’m not sure what it’s supposed to replace but so far it looks like very limited in functionality based on number of cmdlets alone.

    • Jesse Gigler says:

      The module has less built-in commandles, and instead relies upon the pipeline and the exposed methods for advanced functionality. For your example of starting / stopping/ recycling application pools, this is how you would accomplish the task with the new IISAdministration module:
      Get-IISAppPool -Name “Default” | ForEach { $_.Recycle() }
      To see the other methods and properties exposed on the Application Pool Object, pipe an application pool into the Get-Member Cmdlet
      Get-IISAppPool -Name “Default” | Get-Member
      The value in this module comes from it exposing the core of the administration module (Get-IISServerManager) allowing you to do pretty much everything needed, and tailored to your environment. It exposes every property and method of all the Sites, Application Pools, and Default settings for programmatic access, versus building cmdlets for specific tasks that may or may not have value for everyone.
      Hope this helps some.

  2. Do you know what the best method for providing feedback is? That post doesn’t appear to suggest any avenues.
    Also, has anyone given this a shot yet? Does it have the ability to connect to a remote Server Manager? The documentation suggests no right now.

  3. Baris Caglar says:

    Hello, I have posted a blog comment in the original post for an email address to reach us if that is your preferred way of doing so. I don’t want to replicate it here as we are having some trouble with the spam problem. I might not be able to monitor the blog comments everywhere so that might be the best way to reach us.
    I’d like to thank you for your blog post. IIS team is actually alive and well, if not a very crowded team. We have been busy with IIS on Nano Server as well as the new PowerShell Cmdlets. These Cmdlets are really important for the said server since that SKU won’t have the legacy WebAdministration Cmdlets and IISAdministration will be one of the reduced number of administration vectors available, if not the main one for most administrators.
    We’d like to make these Cmdlets also useful for users of full server, where users have access to WebAdministration. This is where the end users such as yourselves come in. Please use the feedback avenues to give us feedback. One important point I saw among the comments was the number of Cmdlets being reduced and this is by design. As Jesse has pointed out, we are focusing on pipelining and give you greater flexibility in doing anything you’d like to do with access to the ServerManager object. One significant addition you’ll see in the next preview will be the ability to administer centralized certificates, but it’s essentially a copy of the same functionality in WebAdministration. But if you have any “exciting” futures that you’d like to see, IIS Team would like to hear your thoughts. There are no promises, but with the improved update model that comes with Windows, we can work as a community to maintain a product everyone will use and love as we gradually improve it along the way.
    Finally, there are no plans to release this as an open source as of yet, although it can be considered in the future. And yes 2016 release is for-sure. We also realize that downlevel availability or lack thereof will be a deal breaker for many out there, so it certainly is on our plate.