Import-Csv and Headers in PowerShell
The Import-Csv cmdlet in PowerShell is awesome. It saves a lot of time and provides a great integration point since the csv format is a common option for exp...
The Import-Csv cmdlet in PowerShell is awesome. It saves a lot of time and provides a great integration point since the csv format is a common option for exp...
Tonight at the Tampa PowerShell User Group I’m presenting a session on Desired State Configuration and how the PowerShell.org DSC tooling can be utilized. Th...
Last week I attended the 2013 PowerShell Summit in Redmond, and it exceeded my expectations in every way. This was an event that felt like a three day user g...
This week I was selected as an Honorary Scripting Guy. The list includes some of the top authors and trainers in the PowerShell world, and it’s a real honor ...
I will be presenting PowerShell for Beginners at SQL Saturday #151 in Orlando, Florida on September 29. This session will cover the fundamentals for anyone ...
This week I’m the guest blogger for the Microsoft Hey, Scripting Guy! blog. The five-part series will focus on PowerShell Remoting.
Every IT Professional runs into situations where there isn’t a utility available for handing a particular task. My first large-scale vbscript fixed a failed ...
PowerShell is particularly good for automating tasks that need to be performed on multiple computers, and many cmdlets are designed to allow multiple compute...
Yesterday, the Consumer Preview of Windows 8 was released along with the beta of Windows Management Framework 3.0, which is PowerShell v3 for Windows 7 Servi...
Getting through the inital learning curve of using PowerShell for administration tasks can be frustrating. This is especially true when someone is on the pho...
My list of free PowerShell eBooks has been very popular, so I decided to compile a list of paid PowerShell books. I own several of these books myself, and I ...
Many of the resources and discussions about PowerShell are geared towards enterprise IT staff responsible for supporting servers. With entire books written a...
A common way to add domain groups to the local administrators group on a computer is with the net command. This worked well for me until I ran into groups wi...
Two-factor authentication with smart cards is becoming more common, but it can be a real pain when the computer is broken and Windows is refusing to allow a ...
One of the differences between the VMware View cmdlets and PowerCLI is that the View cmdlets can only be run on the connection server itself. Despite the lac...
Thank you to everyone that attended the 2012 Orlando IT Pro Camp. It was a great opportunity to learn and network with other IT Professionals. Here are the s...
I’m usually pretty happy with the default PowerShell prompt that displays the current path, however sometimes I just want a generic prompt for screenshots or...
Checking boxes gets old quickly, and I’ve installed and checked those little boxes for the Remote Server Administration Tools (RSAT) on Windows 7 enough time...
This presentation was mostly a demo of using TortoiseHg, and how it can be useful for IT Pros that need to manage production scripts. Here is the slide deck...
Microsoft released the Community Technology Preview (CTP) of the Windows Management Framework 3.0, which includes PowerShell v3. This can be installed on Win...
Microsoft released the Windows 8 developer preview last night, which includes PowerShell version 3! The IT Pros that couldn’t sleep last night are reporting ...
Software developers wouldn’t think of working on a project without some type of version control for their source code. So why is this is a rare topic for IT ...
When I needed to build a collection of PowerShell resources for our internal IT personnel, I had trouble finding a comprehensive list of all the freely avail...
After my last post on PowerShell Remoting performance, I received an email asking if I had tried Split-Job. It works by creating multiple runspaces so that a...
Using fan-out PowerShell remoting has some amazing performance benefits, but it can be difficult to find real-world metrics that describe just how efficient ...
. Here is the slide deck and links to the resources I referenced.
Advanced Event 8 of the 2011 Scripting Games was a beast. It was complex even before the requirement of writing a graphical user interface, and this event ha...
In Advanced Event 7 of the 2011 Microsoft Scripting Games, the goal was to map names to Twitter screen names. The information was to be gathered from the SQL...
I decided to start sharing some of my submissions for the 2011 Microsoft Scripting Games that received decent ratings. This is my entry for Advanced Event 3,...
I had wanted to participate in last year’s 2010 Scripting Games, but I was so busy at work the games were half over before I had a chance to read the rules. ...
```powershell Function Get-Geocode { [CmdletBinding()] Param ( [Parameter(Mandatory=$True)] [String]$Address, [ValidateSet("...
This is an updated function for gathering monitor information that accepts input from the pipeline or as a parameter.
Hewlett-Packard’s Client Management Interface and Dell’s OpenManage Client Instrumentation allow their hardware to be managed through various enterprise mana...
Some documentation refers to the Rename-Computer cmdlet, but according to this post, providing an invalid computer name could cause unexpected results. Since...
Version 3 of Google’s Geocoding API does not return information in CSV format. This updated code processes the XML returned by the new API.
This function uses the Google Maps Geocoding API Version 2. It accepts objects with address, city, state and zip parameters. It then uses that information to...
This function gathers monitor EDID data using the WmiMonitorID WMI class. This class was introduced in Windows Vista, so this function will not work against ...
This script uses the PowerShell bitwise operators to add or remove user account control flags on local user accounts. It currently generates a list of all lo...
This PowerShell script changes the value of scforceoption on the specified computer in order to immediately allow logon without a smart card. ...
This function queries Active Directory for users matching the specified parameter and generates a PSObject with certain properties from the returned objects....
I hate inventory. Running around writing down serial numbers seems like something we shouldn’t have to do these days, but we still do. At least I do anyway.
This VBscript prompts for a computer name or IP Address, connects to that system’s registry over the network and changes the scforceoption key to allow for i...
This vbscript exports an Exchange GAL to an Excel spreadsheet. The important line to change is objCommand.CommandText which must be modified to reflect your ...
This is a way to send email with an attachment using an SMTP server that requires authentication.
This VBscript automates a registry hack to turn off the power management on Network Cards and USB ports. Network Adapters and USB ports have a Power Manageme...
At my organization, users have one computer they log into. To help keep track of who was on what computer, we put our user’s names in the description of each...
Numlock status on a Windows computer is controlled from three places. The BIOS controls the numlock until Windows is booted. At the logon screen, the numlock...
This script will add a domain user or group to the local administrators group of a remote computer. Make sure to change YourDomain to your WinNT domain name....
Very often you will want to run a script against a list of computers. I’ve found that the most flexible way is to grab computer names from a text file. When ...
When we went through a subnet change, we found there were many systems with an incorrect default gateway manually entered into their IP information.
This is an updated script that creates computer accounts in Active Directory. This script uses a comma separated values file as an input instead of two text ...
Many organizations have workstations in common areas for various purposes. If a user walks off without logging out first, that workstation needs to be unlock...
This script is a command-line utility for rebooting, logging off or shutting down remote computers. If no option parameter is specified, a force reboot is de...
Tonight at the Tampa PowerShell User Group I’m presenting a session on Desired State Configuration and how the PowerShell.org DSC tooling can be utilized. Th...
Last week I attended the 2013 PowerShell Summit in Redmond, and it exceeded my expectations in every way. This was an event that felt like a three day user g...
I will be presenting PowerShell for Beginners at the Tampa IT Pro Camp on September 22. My session will be the first of an entire track dedicated to PowerShe...
I will be presenting PowerShell for Beginners at SQL Saturday #151 in Orlando, Florida on September 29. This session will cover the fundamentals for anyone ...
It was great meeting so many new people interested in PowerShell at the Jacksonville IT Pro Camp last weekend. All of the presenters at these events are volu...
I want to thank everyone that attended my PowerShell session at SQL Saturday #130 in Jacksonville. It was a great opportunity to demonstrate some PowerShell ...
This weekend was my first SQL Saturday, and I was very happy to have my session on PowerShell remoting selected. The SQL community is an amazing bunch of peo...
The 2012 Sarasota IT Pro Camp at Keiser University was a great success, mainly due to the hard work from the organizers and volunteers. I want to thank all t...
I will be presenting at SQL Saturday #110 in Tampa, Florida on March 10th. This is a free event for SQL Server professionals and anyone that’s interested in ...
I will be presenting my PowerShell Remoting session at the Sarasota IT Pro Camp on February 18th. These events are free, one-day learning conferences for IT ...
I will be presenting two sessions at the Orlando IT Pro Camp on January 21st. IT Pro Camp is a free, one-day learning event for IT Professionals. There will ...
Yesterday, the Consumer Preview of Windows 8 was released along with the beta of Windows Management Framework 3.0, which is PowerShell v3 for Windows 7 Servi...
Microsoft released the Windows 8 developer preview last night, which includes PowerShell version 3! The IT Pros that couldn’t sleep last night are reporting ...