powertips

Validating User Input

When writing a function that accepts parameters, you can strongly-type parameters so that an exception occurs when the user submits the wrong...

read more

Generate a New GUID

GUIDs are "Globally Unique Identifiers," which are so random that you can safely assume they are unique worldwide. GUIDs are used whenever...

read more

Discover about-Topics

PowerShell comes with a lot of documentation. It is just sometimes hard to find. For example, to get a list of all available operators, do this:...

read more

Automatic Aliases

All Get-Cmdlets (cmdlets that start with "Get") have an automatic type accelerator. You can use those cmdlets without the verb. So...

read more

Exploring Privileges

On Vista with UAC enabled, you are not Admin by default. It might be interesting to find out if PowerShell currently has Admin privileges enabled....

read more

Converting Numbers

The .NET convert class is a great help when you need to convert numbers between different systems. Here's how you can convert a decimal into a...

read more

Outputting HTML Reports

PowerShell can export results as HTML. Simply pipe the results to ConvertTo-HTML and save the result in a file. When you do that, it is wise to use...

read more

Add Custom Properties

While objects contain a wealth of information, this information sometimes isn't in the right format. Let's take WMI objects representing...

read more

Free Space on Disks

You can use WMI to determine how much free space is available on any given disk: Get-WMIObject Win32_LogicalDisk | Foreach-Object { 'Disk {0}...

read more

Order Matters

Here is a challenge for you. The following code is a simple currency converter. However, when you run it, you'll notice it doesn't convert...

read more

Accessing Date Methods

While Get-Date returns the current date and time, it really returns a DateTime object. You can use this object to find out more about the date or to...

read more

Using Cultures

Since PowerShell is culture-independent, you can pick any culture you want and use the culture-specific formats. The following script instantiates...

read more