Configuring IIS Remote Management with DSC

Do you have web servers located throughout your network environment? Do you have admin/devs that need to manage websites and such using the graphical IIS Manager? One of the mistakes made when configuring IIS is failing to install the remote management service and providing a configuration so that admin and devs can use the IIS Manager to remote manage websites. How this problem was solved years ago was simple – walk up to the web server (or RDP), Install the missing component then launch the IIS Manager and configure the management service.  You had to do this AT the web server. Since I only use Server Core – and my servers are remote – this doesn’t work anymore.

Well, PowerShell made this much easier – I could use PowerShell remoting to connect to the web server (no RDP) and install, enable and configure the remote management service. This still works of course, but today, I use DSC to configure pretty much everything – the idea of Infrastructure from Code. So, many people ask me how I would do this using a DSC configuration.

The process to remotely manage IIS with the IIS Manager is the following:

  1. The Management service must be installed
  2. The Management service must be enabled and configured
  3. The WMSVC service must be set to startup type Automatic and Running.

Pretty simple, but if you don’t know how to configure this without the GUI management tool, it can be tricky at first. For sample code, I wrote a simple DSC configuration that installs a default web server (line 3).

Starting with line 10, I add the windows feature Web-Mgmt-Service. When the configuration is run, this will install the required components I need.

Line 17 is where I begin to configure the Management service. First you should know that this service has many configuration options, such things like the port and authentication.  (View the graphical version for more details) Each of these things can be configured at the registry location I describe in the code. But don’t go looking for that registry key until you install the Management service, as it doesn’t exist until after the installation.  You need to perform two tasks. One, enable remote management (as I did) and Two, change the default configuration to whatever you want by adding additional registry keys. In my case I took the defaults, as those work pretty well in most environments.

Line 25 is “Gotcha!” for many folks. You won’t be able to connect to the IIS server using IIS Manager until you start the WMSVC service. Now here is the catch – this service is set to a startup type of ‘Manual’. Which means after the next reboot, your remote management won’t be working. So, it’s important to both start the service and set it a startup type of Automatic.

And there you have it — your can easily use DSC to configure web servers, and the remote management of those servers.

PowerShell and DevOps Global Summit Videos

Once again it was a fantastic year at the PowerShell Summit.  If you couldn’t make it but would like to see what was going on, here are some recordings from the summit.  Now, be gentle with us – these are screen and audio recordings to provide information, not glamour and video — but if you watch this space, I happen to know that there will be full video version of the live event released soon.  I’ll be sure to post a link.  For now, Check out this year, and previous year recordings here!

On YouTube! –


2016 IT Edge Intersection Conference – Call for Presentations

The IT Edge Intersection conference, part of the extremely popular Dev Intersection conference, is the number one place where IT professionals working in IT Ops and InfoSec gather and learn from each other in fast-paced, knowledge packed presentations. Experts from all over the world including the top technologists from Microsoft, MVP’s and industry recognized Guru’s, will once again join together in Las Vegas, October 24 – 27, 2016. If you want to share your IT Ops expertise, then this is your official call to submit presentations for selection!


IT Edge Intersection conference will be held October 24 – 27, 2016 in Las Vegas, Nevada.

Topic Areas – What we are looking for

We are looking for 75-minute presentations covering a wide aspect of IT Ops and InfoSec expertise. We have three main topic areas that may assist you in building an abstract.

  • InfoSec – A deep look into security from Cloud to Office. Presentations on Cloud security, Life Cycle, Hardening, Ethical Hacking and more!
  • Server 2016/DevOps – Deep coverage of Microsoft Server 2016, Nano, Containers and DevOps will be the focus of this track. DevOps topics include Cloud automation, Continuous Delivery, Configuration management and more.
  • Windows 10 – This track is focused on the deployment, configuration and troubleshooting Windows 10.

We are open to presentations across the entire IT Ops ecosystem; so don’t hesitate to send an abstract for your particular area of expertise.

Presentation submissions – What you should send to us

Standard Presentation:

Presentations will be 75-minutes in length. Please send 2 submissions or more. If you are selected for 3 sessions, you will receive a $500 travel stipend and three nights at the hotel – for more info, see below. The submissions should include the following:

  • Presentation Title
  • Presentation abstract – a description of the presentation and the topics covered. 100 words or less and suitable for marketing.

Workshop Presentations:

Workshops are available as Pre-Con and Post-Con. These are all-day presentations, and you will receive $50 per attendee for your presentation. The workshop submissions should include the following:

  • Presentation Title
  • Presentation abstract – a description of the presentation and the topics covered. 100 words or less and suitable for marketing.

You can submit multiple presentations in the same topic area or for different ones.

Presenters will receive:

If you have three sessions selected, you will receive 3 paid nights at the hotel and a $500 travel stipend when booked through our travel agency.

Presentation submission deadline – When you should send it by

Start sending your presentation submissions immediately! The selection committee will start selecting presentations as soon as they arrive so you don’t want to miss out.

Send Submission’s to:

To Answer, or not to Answer

I want to ask your opinion on something, a PowerShell question in fact, but I need to set the stage before I do.

Suppose you want to learn something, a skill perhaps that is important to you. Maybe it helps with your daily job or some hobby you love – could even change your career. From past experience, you know that to learn a new skill, it will require additional knowledge, practice, recognition of failure, and a desire to correct failure when needed to achieve success. You have learned many things this way from troubleshooting TCP/IP to riding a bike. Failure happens, but you get up, brush yourself off, and try-try again. This is how we learn to apply the knowledge gained, learn from mistakes and continue the process. 

Instead of a bicycle example, let me switch to a PowerShell one. Supposed I teach you how to get a list of processes running on your computer using the Get-Process cmdlet. Add to this some additional knowledge about how to sort using Sort-Object and select specific information using Select-Object. I not only teach you these three cmdlets, I also teach you how to use the help system so that you can dive deeper and learn about other cmdlets. A strong knowledge of the help system means you never have to “memorize” all these cmdlets.

After gaining this knowledge, you are confronted with a real-life problem to solve: “You need to display the top 10 processes on your computer, sorted by CPU. You need to store this information as a CSV file for later review.”

Could you figure it out? If I taught you how to use the help system and about the cmdlets necessary, I bet you could. This is an example of analysis, synthesis, and evaluation in Bloom’s Taxonomy. You put the pieces together to get a result, compare that result with what you expected and if it doesn’t match expectation, make corrections until it does. In a nutshell, “figure it out”.

For many of us, this is how we learn. Actually, many of us LOVE to learn this way.

But what if you get stuck and you can’t figure it out? Should I give you the answer or guidance (not the answer) to help you move forward in solving it yourself?

For me, the answer doesn’t help me understand why I couldn’t figure it out – what piece of information am I missing, where did my thinking go wrong. So, what I usually seek is additional guidance, not the answer. In the case of PowerShell, I turn to amazing community (friends, twitter and at PowerShell.Org) to get guidance on the knowledge I’m missing. I use that information to experiment and learn to solve my problem. (In fact, sometimes no one knows the answer – have you been working with v5? – and I might be the first to try to figure it out)

The reason I’m asking you about your opinion on this is because recently I’ve been getting questions about creating a lab answer guide for the PowerShell TFM book published by SAPIEN Technology’s. I normally don’t create answer guides for PowerShell training for the simple reason that you can tell immediately if you get the correct results or not. To fix the results, you use the help system and experimentation to “figure it out” while learning the troubleshooting/thinking process of PowerShell. It’s part of the deal being a DEV/OPS person anyway – it’s what we do everyday. In fact, by not having “MY” answer, you might discover a better one!

But the real question isn’t about me; it’s about you and how you learn. Was I wrong not to include a lab answer guide? I want your opinion, as you are the most important reason I took the time to write the book. Your opinion matters most. Take a few minutes and let me know what you think.


#PowerShell Desired State Configuration with Jeffrey Snover

There are times in your life when you know – the very moment as it happens – that you have had one of the greatest moments in your life. That happened to me for the last 48 hrs – shooting a very challenging and important video series (Live) with one of the most important innovators in the world, and my hero. The honor to even be in the same room made this amazing. I hope that the ‪#‎PowerShell‬ and ‪#‎DevOps‬ community finds value in our work.

If you’re one of us, in three weeks the video will be available , go out to and search for ‘PowerShell’. You’ll find the latest information on DSC – Desired State Configuration – with the inventor of PowerShell and Microsoft Distinguished Engineer Jeffrey Snover. I will followup with the final URL links when they are published. Cheers!

DSC_MVA - Left to right - Jason Helmick and Jeffrey Snover
DSC_MVA – Left to right – Jason Helmick and Jeffrey Snover