Powershell

Wait For Key Press

Sometimes you'd like to wait for a key press. The easiest way is to use Read-Host like this: Read-Host 'Please press ENTER' | Out-Null...

Consolidating Information In An Object

Sometimes, you may want to store information you gathered in different places into one single object and return this object to the caller. This is...

Summing Up Multiple Objects

PowerShell is a dynamic language, and as Forest Gump put it, you never know what you get. For example, when you try and figure out the battery...

Adding Multiple Registry Keys

With New-Item, it is easy to create new registry keys: New-Item HKCU:SoftwareTestkey New-Item can only create one key at a time and fails if the...

Virtual Drives With UNC-Paths

With New-PSDrive, you can create new virtual PowerShell drives to locations you often visit. New-PSDrive needs three pieces of information: the name...

Assigning Values to Parameters

Cmdlets and Functions most of the time support one or more parameters. Let's take this simple function. It defines two parameters called number and...

Avoid Format-… in Scripts

The family of Format-... Cmdlets is useful for outputting data into the console. You probably often used lines like this: Get-Service | Format-Table...

Using Switch Parameters

Switch parameters work like a switch, so they are either "on" or "off" aka $true or $false. To add a switch parameter to a...

Conflicting Commands

PowerShell supports many different command categories and searches for the command in the following order: 1. Alias 2. Function 3. Cmdlet 4....

Extending Alias Functionality

Alias names are a good way of making commands more accessible. The following line would enable you to quickly launch Internet Explorer by entering...

Finding Alias Names

To find out all alias names associated with a given command, filter the alias list by its definition property. The following command lists all...

Trustworthy Folders

If you want to launch a script file or executable, in PowerShell, you'll need to specify either a relative or absolute pathname. To do so by...

Removing Illegal File Name Characters

If you have to batch-process tons of file names, you may want to make sure all file names are legal and automatically remove all illegal characters....

Removing Illegal Path Characters

You can always strip all illegal characters from the path If you have no time to review path names and correct them manually to see if they...

Using Test-Path to Validate A Path

While raw .NET calls provides you with granular control over how to validate paths and file names, there is a cmdlet called Test-Path for simple...

Using Advanced Path Functions

Whenever the built-in Split-Path cmdlet isn't enough, you can always resort to the real .NET class behind it. This class is called...

Using Simple Path Functions

PowerShell comes with the Split-Path cmdlet, which helps you disassemble paths and find the interesting information. Take a look: Split-Path...

Using VB.NET to Migrate From VBScript

If you have ever written scripts using VBScript and now are trying to migrate them to PowerShell, you may miss a lot of useful commands not...

Casting Strings

Strings represent text information and consist of individual characters. By casting, you can convert strings to individual characters and these into...

Using String Functions

PowerShell uses .NET objects everywhere. Anything is represented as .NET object, and .NET objects come with useful built-in methods. However, for...

Calling VBScript From PowerShell

Sometimes, you may have an existing VBScript that already does just what you want. You can easily incorporate any VBScript into PowerShell because...

Calling PowerShell from VBScript

Maybe you are happy with other scripting languages, like VBScript, and would like to stick to that for awhile. Still, you'd like to enhance your...