New, Improved Group Policy Link Report with PowerShell

A peer asked me to update one of my classic Group Policy reporting scripts this week, so I thought I would share the update with y’all. Continuous Improvement Over the years I have released a number of Group Policy scripts. This one shows you all kinds of goodness: GPOs linked to OUs OUs where block-inheritance…


Function to Create Certificate Template in Active Directory Certificate Services for PowerShell DSC and CMS Encryption

Today I’m cleaning out my code closet. I found this script that I have wanted to share for a while now. Problem Active Directory Certificate Services does not include a template for Document Encryption. This is required for DSC credential encryption and the CMS encryption cmdlets. Current processes require manual effort to create the template….


Use Hash Tables To Go Faster Than PowerShell Compare-Object

Compare-Object gotcha down? Slower than my old 300 baud modem? Have no fear. Today we go faster using hash tables. Let me state first that I love the cmdlet Compare-Object, and I have used it many times with great results. But at scale my customer had some serious performance issues. The Problem – “I feel…


Slow Code: Top 5 Ways to Make Your PowerShell Scripts Run Faster

Slow code? Are you frustrated by slow PowerShell scripts? Is it impacting business processes? Need help tuning your scripts? Today’s post is for you. Can you identify with any of these customer slow PowerShell stories? Case #1 Customer is scanning Active Directory Domain Controllers in multiple domains and forests scattered all over the state on…


Getting Started with PowerShell Core on Windows, Mac, and Linux

This is deeper than Coke vs. Pepsi or Ford vs. Chevy. We are breaking down the barriers. Cats and dogs living together. Are you ready for this? This month I posted over on the PowerShell team blog about my recent experiences with PowerShell on Linux and Mac. It is a ton of fun. Check out…

Top 10 PowerShell DSC Node Events to Monitor

In a previous blog post I demonstrated how to get a list of all possible PowerShell Desired State Configuration (DSC) events for monitoring. Admittedly, that was an overwhelming list. Today I want to narrow that down to the essentials of DSC monitoring events. These are the events you’re looking for. Recently I was working with…


PowerShell Remoting and Kerberos Double Hop: Old Problem – New Secure Solution

PowerShell and DevOps Global Summit 2017 This week I enjoyed presenting at the PowerShell and DevOps Global Summit 2017. If you have not attended, I highly encourage it. You will get to meet PowerShell team members from Microsoft, MVPs, and the people you follow on Twitter! Follow @PshSummit on Twitter to get the alerts for registration….


Practical PowerShell Security: Enable Auditing and Logging with DSC

PowerShell Security Almost two years ago Lee Holmes released his famous PowerShell ♥ the Blue Team whitepaper. This is required reading for anyone who works with PowerShell at all in their job or who is concerned about the security of PowerShell in their environment. I outlined a number of PowerShell security-related resources in this previous…


Compare Group Policy (GPO) and PowerShell Desired State Configuration (DSC)

What is the difference between Group Policy (GPO) and PowerShell Desired State Configuration (DSC)? Why would I use one over the other? I hear these questions frequently. Today we are going to fully explore the pros and cons of each. Is GPO going the way of the floppy disk? Let’s find out. The Contenders Group…


Pro Tip: PowerShell DSC Events to Monitor

The Problem I need to monitor PowerShell DSC health on all of my nodes. But I do not want to wait for every possible event to happen in production to catch it and add it to my monitoring event list. The Options There are many options for monitoring PowerShell Desired State Configuration (DSC) status on…