Windows scripting tutorials for systems administrators

Need to bone up on your scripting know-how? It's time to go to school. Check out Christa Anderson's monthly scripting column.

Welcome to's Scripitng School archive with Christa Anderson. Christa is an expert on the...

subject of Windows administrative scripting, and her bi-monthly columns explore the ways that admins can use scripts to manage their Windows environments. Ready to increase your scripting knowledge in a hurry? It's time to go to school!

For more recent PowerShell advice, check out our Scripting School 2.0 page with Microsoft MVP Brandon Shell.

Scripting School


May 2009: Getting started with Windows PowerShell and Hyper-V
Managing virtual machines on your Hyper-V server can be a lot easier if you're armed with the right scripts. Check out these tips for using PowerShell to create a VM when running Hyper-V.

March 2009: Scripting secrets for reviewing Windows event log data
Using custom views in Microsoft Event Viewer help you filter event logs, but they lack ideal flexibility. This script refines your search so you can quickly access the data you need.

January 2009: Extending your toolset with Windows PowerShell
Sometimes the operating system has the information you want, but it doesn't group it in a way that answers your questions. Here you'll learn one example of how to use Windows PowerShell to read performance data and gather intelligence about the server.


July 2008: Understanding how Windows PowerShell organizes tasks
In this month's Scripting School column you'll learn the details of PowerShell's structure, and how that knowledge can help you quickly find the tools you need.

April 2008: Introducing Active Directory to Windows PowerShell
In this month's Scripting School column, Christa Anderson breaks down the process of using PowerShell to create or manipulate data in Active Directory.

February 2008: An extended look at Windows file management with PowerShell
Last month's column dealt with file archiving systems. This month, Christa builds on those practices by explaining how to use Windows PowerShell to create folders in a temporary directory and populate them from a network share.

January 2008: Archiving information with New-Item in Windows PowerShell
To start off the New Year, Christa explains how with Windows PowerShell, administrators can use variables combined with cmdlets to store pertinent data as part of their file archiving systems.


December 2007: Editing content with Windows PowerShell
In this month's Scripting School column, Christa Anderson continues her in-depth look at Windows PowerShell with scripting advice for finding and setting content in text files.

November 2007: An inside look at the CTP of PowerShell 2.0
The next version of Windows PowerShell is now available for testing. Christa takes an in-depth look at some of the best new features from the CTP.

October 2007: How to use PowerShell to build a disk cleanup utility
For people interested in how things tick, computers can be a satisfying test medium because the changes you make have an immediate effect. But it's also possible to make changes that can't be reversed or can only be reversed with a lot of pain. Christa explains how to use Windows PowerShell cmdlets to build a useful but potentially destructive utility for disk cleanup, and how to reduce the risk of using it.

August 2007: How to get process information with Windows PowerShell
This Scripting School column explains how to use PowerShell's get-process cmdlet to retrieve information about the processes on your computer and how to kill the unnecessary ones.

July 2007: Supplying arguments to Windows PowerShell scripts
You script a task when you expect to be doing that task more than once. But you probably won't run exactly the same task each time. Rather than saving one script for every eventuality, this column will show you how to make the scripts able to accept arguments and assign them to variables, in order to give those scripts more flexibility.

June 2007: How to save and run scripts with Windows PowerShell
This column examines how to save Windows PowerShell cmdlets and edit the language's settings so saved scripts will execute.

April 2007: Filtering output from Windows PowerShell
This column offers tips to make it easier to browse Windows Management Instrumentation (WMI) classes (without cheating) by filtering the content. All it takes is a new cmdlet and working with variables.

March 2007: Working with WMI providers to PowerShell
Windows PowerShell works with data from .NET 2.0. But .NET doesn't always contain the objects you need. Here's how to use PowerShell with Windows Management Instrumentation providers.

February 2007: Comparing Windows PowerShell and VBScript
This column compares the flexibility of Microsoft's new shell language, Windows PowerShell, to that of VBScript.

January 2007: Customizing a mapped drive inventory
Creating an inventory of mapped drives yields a useful file, but some filtering would help. Here's how to do that with string formatting functions and regular expressions.


December 2006: Creating an inventory of mapped drive connections
In this column, Christa goes back to the basics to help smaller enterprises keep track of user connections to mapped drives.

November 2006: Managing Group Policy with VBScript
In this column, Christa explains how you can use scripting to manage Group Policy with VBScript.

October 2006: Windows PowerShell
Find out where Christa thinks Windows PowerShell has advantages over VBScript.

September 2006: Replacing text with regular expressions
As a way of finding and replacing text in scripts, regular expressions allow you to do things that pattern matching doesn't. But becoming adept in using regular expressions takes practice.

August 2006: Expert answers to your scripting questions
Should you learn to script to perform a specific task? Christa tackles issues that have come up in readers' email and answers questions about killing a process and managing variables and string names.

July 2006: Writing a script for an office inventory system
This column tells you how to write a script for an inventory system that correlates the user name, computer name and cubicle name, then add this information to an Excel spreadsheet stored on a network share.

June 2006: Script creates office inventory
In this column, Christa responds to a reader who needs a script to create an inventory of his office's seating plan.

May 2006: A script for creating folders
Now that you know what's involved in programmatically creating new folders and setting permissions on them, it's time to examine the script that performs these tasks.

April 2006: Creating new folders and setting permissions
In this column, Christa discusses how to read an external file and how to create folders programmatically from a list of names.

March 2006: Nine links for online scripting resources
If you're looking for scripting resources, going online is a good place to start.

February 2006 Enhancing scripts that require user input
In this column, Christa explains how you can provide guidance to those using the scripts you write (so that running the utilities you create doesn't require reading the source code) and how you can set up scripts to run remotely.

January 2006: Taking inventory of drives
Save your script output to a file, and then use it to take inventory of the drives in use or to help administrators keep track of a heavily-used volume.


December 2005: Writing output to a text file
One problem with producing output from a script is that it's temporary. In this column, Christa explains how you can make your scripts write the output to a text file using the File System Object.

November 2005: Connect scripts to remote computers
You can save substantial time by running a script that connects to remote computers by name or as part of an Active Directory domain.

October 2005: Turning the environment with WshShell
In this column, Christa explains how to read the WindowsRegistry and record the value of a key in the Event Viewer.

September 2005: Windows Script Host arguments
In this column, Christa explains how to use an important object collection in Windows Script Host: named arguments.

August 2005: Find objects with Windows Scripting Host
In this column, Christa introduces you to a sampling of the Windows Scripting Host objects. It also discusses how they can help you perform administrative tasks and work with your Windows environment.

July 2005: More on scripting and connecting to network resources
In this column, Christa offfers some scenario-based variations, along with a sample script.

June 2005: Scripting and connecting users to network resources
In this column, Christa explains how to use tools that let you identify users and computers outside a domain structure and make them connect to network shares -- depending on who and where they are.

May 2005: Advanced scripting concepts
In this column, Christa covers some advanced scripting concepts and offers tips that will help you debug scripts.

April 2005: Beginner's guide to scripting
Scripting is simpler than it looks and can save you substantial time and effort. In this column, Christa offers some basic scripting concepts.

A Terminal Services MVP, Christa Anderson is the strategic technology manager for visionapp. She formerly was program manager for the Microsoft Terminal Services team. She is an internationally known authority on scripting, the author of Windows Terminal Services, The Definitive Guide to MetaFrame XP, and co-author of the book Mastering Windows 2003 Server. 

Dig Deeper on Windows Server storage management