database-tools

Downloading PowerShell v3 Help

Beginning with PowerShell v3, help is no longer shipped by default. Instead, in order to get help you need to download the help information from the...

Getting Relative Dates

Here's a quick and fast way of generating relative dates in any format: (Get-Date).AddDays(-1).ToString('yyyy-MM-dd') This would return...

PowerShell ISE v3 Keyboard Shortcuts

Note: Beginning now, we will include useful tips on PowerShell v3. PowerShell v3 is the next generation of PowerShell that is in public beta right...

Getting Movie Database Information

Here's a sample that illustrates how versatile PowerShell is. The function Get-Movie retrieves information about movies from the Internet....

Identifying PowerShell Host

If your script requires a real console, or if your script requires PowerShell ISE features, it may be a wise thing to check which host is actually...

Find WMI Classes

Get-WmiObject is a great cmdlet that returns all instances of a WMI class: PS> Get-WmiObject -Class Win32_LogicalDisk All you need to know is the...

Adding Type Accelerators

Type accelerators are shortcut names that represent .NET types. For example, you can use [XML] instead of [System.Xml.XmlDocument]. By default,...

Rename PowerShell Scripts

Rename-Item can easily batch-rename large numbers of files, simply by piping file objects into it. Here is a sample that finds all PowerShell script...

Verifying Restore Points

When you create a new restore point with Checkpoint-Computer, you do not get back any feedback telling you whether the operation succeeded....

Enabling and Disabling Computer Restore

In a previous tip we shared how you can use PowerShell to create restore points and restore your system state in case something went bad. There are...

Backing Up System State

Let's assume your script needs to change a bunch of system settings. The worst thing that could happen is if your script breaks in the middle of...

Discarding Unwanted Information

If you want to dump results from a command, there are a number of ways. While they all do the same, they have tremendous performance differences:...

Investigating USB Drive Usage

With two lines of PowerShell code, you can dump the USB storage history from your registry and check which devices were used in the past: PS>...

Installing MUI-Packs

The current PowerShell V3 Beta requires an English Windows operating system. That's bad news for anyone running Windows 7 Professional or Home...

Finding All Object Properties

By default, PowerShell only displays a limited set of object properties. To view all available properties, add the following pipeline element:...

Finding True WMI Properties

When you use Get-WmiObject to retrieve WMI objects, PowerShell adds a number of supporting properties. If you want to display only the native WMI...

Finding Current Script Paths

Here's a useful function that you can paste into your scripts. It will tell you the current location the script is executed from. function...

Creating New Scripts in ISE

Often, you first play around with PowerShell commands interactively, and then once those commands do what you want, you can copy them to your script...

Copying Command History to Clipboard

Here's a one-liner that copies all commands from your command history to the clipboard. From there, you could paste them into your favorite...

Check Out Nested Hash Tables

In our last tip we looked at nested arrays (jagged arrays) which may have been a bit confusing. Today, we look at nested hash tables. They may look...

Jagged Arrays

This may not be for everyone: have a look at how you can create "jagged arrays". Here's a jagged array which really is a nested array:...

Making netstat.exe Object-Oriented

Netstat.exe is a useful tool, like many other console-based applications. Take a look how relatively easy it is for PowerShell to take the...

Finding Built-In Administrators Group

Using System User or group names like 'Administrators' in scripts may not always be a good idea because they are localized and may not work...

Using Advanced Breakpoints

PowerShell supports dynamic breakpoints. They trigger when certain requirements are met. Like regular breakpoints, they all require that your script...

Matching Stars

Asterisk serve as a wildcard, so how would you check for the presence of an asterisk? In a previous tip we used regular expressions for this, but...

Debugging PowerShell Scripts

In PowerShell ISE, there are little-known built-in debugging features. Provided you have saved your script to a file, you can press F9 to set...

Stopping Services Remotely

Stop-Service cannot stop services remotely. One easy way of doing so is Set-Service: Set-Service -Name Spooler -Status "Stopped"...

Easier ForEach/Where-Object in PSv3

In the upcoming PowerShell v3 which you can already download as a Beta version, using Where-Object and ForEach-Object becomes a lot simpler. No...

Lunch Time Alert

Here's a fun prompt function that turns your input prompt into a short prompt and displays the current path in your PowerShell window title bar....