The new PowerShell 3.0 ISE editor features a snippet menu that lets you easily insert predefined code snippets. Simply press CTRL+J to open the...
database-tools
Using Here-String Correctly
Whenever you need to assign multi-line text to a variable, you can use so-called here-string. This is a sample: $myCodeSnippet=@' function...
Using Regions in ISE Editor
PowerShell 3.0 ISE editor creates collapsible regions automatically, so you can collapse a function body or an IF statement. In addition, you can...
Accessing Latest Log File Entries
Sometimes you may just be interested in the last couple of entries in a log file. Here’s a simple yet fast way of outputting only the last x...
Finding IP GeoLocation Data
In a previous tip we illustrated how you can use web services to retrieve information such as public holidays or the location of an IP address....
Finding Public IP Address
Whenever a machine is connected to the Internet, it gets a public IP address (typically assigned by the ISP), and this public IP address is not...
Creating a Drawing Panel
In PowerShell 3.0, WPF is a great (and easy) way of creating GUIs. If you have a touch-enabled machine, check out how easily you can open a drawing...
Changing Files without Changing Modification Date
Whenever you change a file, the file system automatically updates the LastWriteTime property. If you'd like to change a file without leaving...
Getting Holiday Dates
Ed Wilson from the Scripting Guys demonstrated how PowerShell can use free web services to find out holidays. You do need direct (non-proxy)...
Replacing Aliases with Command Names
Aliases are shortcuts for commands and useful in interactive PowerShell. Once you write scripts, however, you should no longer use aliases and...
Identifying Origin of IP Address
Ever wondered how a website knew which country you are from? That's because there are IP address segments assigned to certain regions. And...
Documenting CPU Load for Running Processes
Get-Process can easily return the CPU load for each running process, but this information by itself is not very useful: Get-Process | Select-Object...
Temporarily Locking the Screen
PowerShell 3.0 uses .NET Framework 4.x so it has WPF (Windows Presentation Foundation) capabilities built-in. This way, it only takes a few lines of...
Renaming Script Variables
Often, when you start writing a PowerShell script, you use temporary (dirty) variable names that later you'd like to polish. Renaming script...
Using Outlining to Make Scripts Easier to Read
ISE 3.0 features automatic outlining, so structures like braces can be collapsed or expanded by clicking the small "+" or "-"...
Auto-Documenting Script Variables
PowerShell can automatically find and list all variables that you use in a script. This way, you can easily create variable documentation for your...
Turning ISE into a Custom PowerShell Console
A lot of products come with their own PowerShell consoles. There are special PowerShell consoles for Exchange, for SQL Server, for Active Directory,...
Using the ISE Debugger
ISE has a simple yet effective debugger built-in that you can use to step through your code. The debugger does require that you save your script...
Greenplum, PostgreSQL's Big Little Brother
The Greenplum database by EMC, is based on PostgreSQL, and has done a good job at keeping compatibility with PostgreSQL on the protocol layer and...
Switching Between Console and Editor
In ISE 3.0, you can easily switch focus between the interactive console pane and the editor script pane by pressing CTRL+D (to go to the console)...
Finding Matching Brackets
Sometimes, in larger PowerShell scripts it is hard to find the corresponding opening or closing bracket or brace. One thing you can do, of course,...
Finding Built-In ISE Keyboard Shortcuts
Thanks to MVP Shay Levy from http://powershellmagazine.com fame, here's a quick way of dumping all ISE 3.0 keyboard shortcuts; a lot of them are...
Secret Script Block Parameters
If you think you understand PowerShell parameter binding, then have a look at this simple function which exposes a little-known PowerShell behavior:...
Get-Member Receives Array Contents
If you need to know the object nature of command results, you probably know that you can pipe them to Get-Member like this: Get-Process |...