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 Management Framework 5.0 Preview September 2014: New cmdlets and the existing module they were added to: Microsoft.PowerShell.Core Enter-PSHostProcess Exit-PSHostProcess Microsoft.PowerShell.Utility ConvertFrom-String Wait-Debugger OneGet Get-PackageProvider Register-PackageSource Unregister-PackageSource Set-PackageSource Save-Package PowerShellGet Get-PSRepository Set-PSRepository Register-PSRepository Unregister-PSRepository Parameters 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

Set a Users Active Directory Display Name with PowerShell

I recently saw an article on how to set a users Active Directory display name based on the values of their given name, initials, and surname. I came up with my own unique solution for this task and thought I would share it with you, the readers of my blog. As you can see in the following example, there are a mixture of users who need their display name corrected based on the requirement that their display name be listed as "Givenname Initials Surname":I Read more [...]
Posted in Active Directory, PowerShell | Tagged , | Leave a comment

Exclude Delayed Start Services when Checking Status with PowerShell

While using PowerShell to return a list of Windows services that are set to startup automatically and aren't running may sound like a simple task, it's not quite as easy as it sounds, at least not if you want accurate results. This is due to the services that are set to startup automatically with a delayed start skewing the results. For more information on how to accurately return a list of services that should be running, but aren't based on services that have a startup type of automatic while Read more [...]
Posted in PowerShell | Tagged | Leave a comment

Using PowerShell to discover information about your Microsoft SQL Servers

Earlier this week, I had an article published by PowerShell Magazine on the subject of "Using PowerShell to discover information about your Microsoft SQL Servers". Here's a brief description about that article: "In this article, I’ll be discussing how PowerShell can be used to retrieve just about any information that you would want to know about modern versions of SQL Server that you currently have running in your environment. This article isn't meant to be a deep dive, it’s meant to get Read more [...]
Posted in PowerShell, SQL Server | Tagged , | Leave a comment

Find and Disable Active Directory Users with PowerShell Faster than You can Open the GUI

In this scenario, a support request has been escalated to you because the help desk is unable to find a user account in Active Directory that needs to be disabled. The help desk included a screenshot where they attempted to search for the user who is named "William Doe": The request you received also stated that the user is in the "Sales" department so you perform a quick search for users who have a last name of "Doe" and who are also in the "Sales" department:Based Read more [...]
Posted in Active Directory, PowerShell | Tagged , | 1 Comment

Extract the Name from an Active Directory Distinguished Name with PowerShell and a Regular Expression

This is actually something I had a small blurb about in my previous blog article, but I wanted to go back, revisit it, and write a dedicated blog article about it. Sometimes there are properties in Active Directory like the one in the following example where the "Manager" property is being returned as a distinguished name and what you really wanted was just their name (in human readable format):You could write a complicated function or script to query Active Read more [...]
Posted in Active Directory, PowerShell, Regular Expressions | Tagged , , | Leave a comment

From Dangerous Script Copy & Paster to Scripting Games Winner and now PowerShell MVP!

I've been working in Information Technology for 20 years this year and I've wasted more than half of my career in the GUI (Graphical User Interface) having to learn GUI's for numerous products and different versions of all those different products over the years, more products and versions than I can count. Back in the VBScript days, I was the dangerous script copy and paster. Then when Exchange Server 2007 shipped, I was forced to learn at least some PowerShell since there were many things that Read more [...]
Posted in PowerShell | Tagged | 4 Comments