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 , , , | Leave a comment

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

New Modules, Cmdlets, & Parameters in PowerShell Version 5

Think keeping up with the changes between major versions of PowerShell is difficult? Well just try keeping up with the changes that are added and removed in preview versions. The following is a list of the new modules, cmdlets, and parameters that have been added so far in PowerShell version 5 grouped by the different preview releases. Windows Technical Preview Enterprise Edition (Windows 10) PowerShell Version 5 Build 9841 New cmdlets and the existing module they were added Read more [...]
Posted in PowerShell | Tagged , | 1 Comment

PowerShell Function to Create CimSessions to Remote Computers with Fallback to Dcom

I've found myself writing the same code over and over in my PowerShell scripts where I'm performing a task that requires me to create a CimSession to one or more computers without knowing what version of PowerShell is installed on the remote computers or if PowerShell is even installed on the remote computers. While it is possible to create a CimSession to a remote computer in any of those scenarios I just described, it's a fair amount of code to add to multiple scripts and then the same redundant Read more [...]
Posted in PowerShell | Tagged | Leave a comment

PowerShell Track at SQL Saturday #328 in Birmingham Alabama this Weekend!

Do you work with technology and live within driving distance of Birmingham Alabama? Then you should consider attending SQL Saturday #328 this weekend. There’s an entire track dedicated to PowerShell and while a few of the sessions in that particular track will focus on SQL Server, there's also a session on PowerShell Fundamentals for SharePoint, a session on Stupid PowerShell Tricks by PowerShell MVP Jim Christopher, and a session on the new features in PowerShell version 5 that I’ll be presenting. I'll Read more [...]
Posted in PowerShell, SQL Server | Tagged , | Leave a comment

Don’t miss the boat: PowerShell Summit Europe 2014

If you’re a frequent reader of the articles on this blog site then you probably already know that the information I write about is based on my real world experiences and the same holds true for this blog article about the PowerShell Summit conferences. During the past two years (since its inception), I have attended the PowerShell Summit North America and I can say without doubt that attending those conferences has definitely helped to advance my career. While anyone can pay the fee and attend, Read more [...]
Posted in PowerShell, PowerShell Summit | Tagged , | Leave a comment