Use PowerShell to Install Active Directory Certificate Services

In this blog article, I'll use PowerShell to install Active Directory Certificate Services in my test environment. The domain controller that's being used is running Windows Server 2012 R2 Server Core Installation (no-GUI). The workstation that I'm using is running Windows 8.1 and it is a member of the same Active Directory domain. Many times when I'm prototyping something on a single remote server, I'll use one to one remoting so that it's an interactive session. The Enter-PSSession cmdlet is Read more [...]
Posted in Active Directory, PowerShell | Tagged , | Leave a comment

My New Book: Windows PowerShell TFM 4th Edition is now Available!

If you work with technology then I'm sure you're already aware that PowerShell is one of those technologies that is quickly becoming a must have skill. Whether you're a beginner or someone who is looking to become more proficient with PowerShell, there's a new book on the market that is an all in one learning guide, lab guide, and PowerShell reference. I'm happy to say that I'm proud to be part of the Superhero team at SAPIEN Technologies who is bringing you the Windows PowerShell TFM 4th Edition Read more [...]
Posted in PowerShell | Tagged | 2 Comments

PowerShell: When Best Practices and Accurate Results Collide

I'm a big believer in trying to write my PowerShell code to what the industry considers to be the best practices as most are common sense anyway, although as one person once told me: "Common sense isn't all that common anymore". I would hope that even the most diehard best practices person would realize that if you run into a scenario where following best practices causes the results to be skewed, that at least in that scenario it's worth taking a step back so you can see the bigger picture. I Read more [...]
Posted in Active Directory, PowerShell, SQL Server | Tagged , , | Leave a comment

PowerShell Desired State Configuration Error: Undefined Property ConfigurationName

The scenario in this blog article is that you've created a DSC configuration on a computer that's running a preview of PowerShell version 5. The machine itself could be running Windows 8.1, Server 2012 R2, or the Windows Technical Preview version of Windows 10. Here's a simple configuration that I'll use to demonstrate the problem. This DSC configuration uses a custom DSC resource to rename a computer. This configuration is being created on a machine running the Windows Technical Preview version Read more [...]
Posted in Desired State Configuration, PowerShell | Tagged , | Leave a comment

Use PowerShell to Determine the Uptime of an EqualLogic SAN

Recently, I received notification from EqualLogic support that there could be issues with their storage area networks running firmware version 7.0.x at 248 consecutive days of uninterrupted operation and they recommend updating to firmware version 7.0.9 to correct (and prevent) the problem. While I know that I have EqualLogic storage area networks running in some of the data-centers I support, I'm not sure what version of firmware they're running or what the uptime on them is so I'll use PowerShell Read more [...]
Posted in PowerShell, Storage Area Network | Tagged , , , | 2 Comments

Use PowerShell to Determine the Differences in Group Membership between Active Directory Users

I recently saw a post on Reddit where someone was trying to create a function that takes an Active Directory user name as input for a manager who has direct reports (subordinates) specified in Active Directory. They wanted to determine if the Active Directory group membership of any of those subordinates is different than the others. There are two different parts to this scenario. Returning a list of the manager's direct reports by querying that property from the manager's user account in Active Read more [...]
Posted in Active Directory, PowerShell | Tagged , | Leave a comment

Using Pester for Test Driven Development in PowerShell

How do you normally write your PowerShell code? Your answer is probably like mine and most other IT pros. You have a task that you need to accomplish and instead of performing a clicker-size in the GUI whenever that task is required to be performed, you write a PowerShell one-liner, script, or function to automate that task. You test it a little to make sure there aren't any major issues and you implement it, moving on to the next task. Have you heard of a PowerShell module named Pester? I'd Read more [...]
Posted in PowerShell | Tagged , | 3 Comments

Creating a Custom DSC Resource to Configure Jumbo Frames on Network Cards

Recently while working on configuring a new server with DSC (Desired State Configuration), I discovered that there wasn't a DSC resource for configuring the jumbo frames setting on network cards so I decided to write my own. This blog article steps you through the process of creating a custom DSC resource, specifically one that is used to configure the jumbo frames setting on network cards. The specific settings for jumbo frames can vary depending on your network card manufacturer and the specific Read more [...]
Posted in PowerShell | Tagged , | 2 Comments

My Solution to the Impractical One-liner Challenge

I recently participated in an "Impractical One-liner Challenge" that Stephen Owen posted on his blog site where he challenged his readers to come up with a PowerShell one-liner that would allow the person running it to select a single OU (Organizational Unit) from a list of all the OU's in Active Directory and then move a list of computer accounts that are contained in a text file to that OU. My solution requires the Active Directory PowerShell module and at least PowerShell version 3. I decided Read more [...]
Posted in PowerShell | Tagged | Leave a comment

Use PowerShell to Determine what Outlook Client Versions are accessing your Exchange Servers

Earlier this month I saw a blog article on "The EXPTA {blog}" about "Reporting Outlook Client Versions Using Log Parser Studio" and I thought I would show you a simple alternative using PowerShell that accomplishes the same task while giving you some additional flexibility. This simple PowerShell function can be used to parse the Exchange Server RPC logs.Piping this command to Out-GridView provides the same output in a similar looking interface as what was Read more [...]
Posted in Exchange Server, PowerShell | Tagged , | Leave a comment

Unlock a Volume Protected with BitLocker Drive Encryption

Have a Windows Server 2012 R2 machine that runs the Server Core (no-GUI) installation of the operating system? Maybe that server has a volume that is protected with BitLocker Drive Encryption? If so, how would you unlock the encryption so you can access the data on that volume without using a graphical user interface? With PowerShell of course, specifically the Unlock-BitLocker PowerShell cmdlet:µ Read more [...]
Posted in PowerShell | Tagged | Leave a comment

Creating a Simplistic GUI Interface with Out-GridView

A couple of weeks ago I noticed a post in the forums at PowerShell.org where a question was asked about selecting a group of servers in Server Manager and running a PowerShell script against that selection of machines. While my solution doesn't accomplish exactly what I think they were looking for, it does the next best thing. First, I added a menu item to Server Manager called MrToolkit (short for Mike Robbins Toolkit) based on a "Customize Tools menu in Server Manager" blog article on the TechNet Read more [...]
Posted in PowerShell | Tagged | Leave a comment