Windows PowerShell 3.0 ISE

PowerShell 3.0 ISE Integrated Scripting Engine (GUI)Windows PowerShell Version 3.0

While Windows PowerShell 3.0 opens up more avenues for developers, it also brings neat improvements to the GUI version.

In a nutshell the PowerShell 3's ISE is like a deluxe version of 2.0; for example the ISE v3 has Auto-complete and a new Modules window.

PowerShell 3 ISE Tutorial

 ♣

Getting Started with Windows PowerShell ISE 3.0

Assumption 1: You have installed Windows 8.  If not then see how to download and install PowerShell v 3.0.

Assumption 2: You have downloaded PowerShell 3.0 CTP, in which case skip the Metro UI instructions.

Launching PowerShell 3.0 ISEPowerShell 3.0 ISE

This is how to get started from the Windows 8's Metro user interface.

  • Just press the 'p' key.  You will see two PowerShell programs, make sure you choose the ISE version.
  • At this point you could 'Pin' the 'Windows PowerShell ISE' by right-clicking and selecting 'Pin' at the bottom right of the screen.
  • I also like to drag the Windows PowerShell ISE tile to the left of my screen because it's one of the program that use the most.

Window Panes in the PowerShell 3 ISEPowerShell 3.0 ISE Commands

The main new feature here is a new Commands Window, with a 'Modules' filter.  These three panes are pretty much the same as there were in ISE 2.0.

  • A script pane where you can create and debug your scripts.
  • An output pane where you see the results of commands that you run.
  • A command pane, I don't use this much, it's just like the Non-ISE version.  Simply type a command and press Enter. 

Note the tabs:  I use these for testing different versions of my script and for researching with | Get-Member.

Incidentally, it's possible to launch the ISE without loading $Profile with -No Profile.

PowerShell 3.0 ISE

Guy Recommends:  A Free Trial of the Network Performance Monitor (NPM)Review of Orion NPM v11.5 v11.5

SolarWinds' Network Performance Monitor will help you discover what's happening on your network.  This utility will also guide you through troubleshooting; the dashboard will indicate whether the root cause is a broken link, faulty equipment or resource overload.

What I like best is the way NPM suggests solutions to network problems.  Its also has the ability to monitor the health of individual VMware virtual machines.  If you are interested in troubleshooting, and creating network maps, then I recommend that you try NPM now.

Download a free trial of Solarwinds' Network Performance Monitor

PowerShell 3.0 ISE - New GUI FeaturesPowerShell 3.0 ISE Auto-complete intellisense

Auto-complete:
The first new feature that strikes you is Auto-complete, this is a Visual Studio Intellisense feature, as soon as you type a verb and the dash, then Auto-complete makes suggestions, press enter at any time and it finishes the typing for you.

Error Display
PowerShell 3.0 shows you a parse errors with a red underline.  Furthermore, if you hover over an underlined error then you get a 'Tooltip' with suggestions on how to correct the code.  For example, to show me that I missed a closing bracket:

PowerShell 3.0 ISE Error Display

In the above example, I could have used the new {Brace Matching} feature instead of Parse Error Display.

Other novel features to look out for in ISE 3.0 include an Outline view for collapsing sections of long scripts and Zoom 'lens' for those suffering eye-strain with small fonts.

Try PowerShell's $PsISE
PowerShell provides many examples of learning a feature in one area and then applying it elsewhere in an other context.  I love Get-Member, so I was delighted to discover that PowerShell's ISE has its own built-in variable $PsISE. 

Before you go any further make a note of your get-out-of-jail card:
$PsISE.Options.RestoreDefaults()

# PowerShell ISE v 3.0 $PsISE
$PsISE.Options

Note 1:  Where next?  Well try changing a few of those properties revealed by the above command; I suggest prefixing what you see in the output with $PsISE.options, for example:
$PsISE.options.scriptpanebackground ="Cyan". 

#These two commands changed the lower pane for me.
Clear-host
$PsISE.Options.ConsolePaneBackgroundColor = '#FF021754'
$PsISE.Options.ConsolePaneTextBackgroundColor = '#FF021754'

Other options where I had less success in the ISE.

Clear-Host
$PsISE.Options.OutputPaneBackgroundColor = '#FFF0FFFF' # Nearly White
$PsISE.Options.OutputPaneTextBackgroundColor = '#FFFFFFFF' #White
$PsISE.Options.OutputPaneForegroundColor = '#FF000000' #Black
Get-Process

Note 2: Try repositioning your Command Pane with:
$PsISE.options.CommandPaneUp = 1  (or zero)

Note 3: Here is your sanity preserver .RestoreDefaults().  It will undo all your mistakes, go back to how it was originally:  $PsISE.Options.RestoreDefaults()

Neat Command to Display Colors

Clear-Host
[Enum]::GetValues([System.ConsoleColor])

SolarWinds Response Time Viewer for WiresharkGuy Recommends: Response Time Viewer for Wireshark

Here is a free tool to troubleshoot network connection and latency problems.  Key concept: this is a free tool from SolarWinds that analyzes network packets captured by Wireshark (also a free tool).

When you inspect the data in the Response Time Dashboard, if you hover over an application such as Teredo or TCP, then you get an orange box showing a breakdown of network and application response times, note the 'Peak value' in addition to the 'Average'.

Download your free trial of SolarWinds Response Time Viewer for Wireshark

PowerShell 3.0 ISE Add-ons Tab

PowerShell 3.0 ISE Add-ons

I like the new Add-ons tab and the way that it supplies a link to the Windows PowerShell Tools site.

$PsUnsupportedConsoleApplications

Here is a built-in PowerShell variable to list unsupported commands.  While these executables work with cmd, they give trouble in PowerShell ISE.

# Executables that won't run in PowerShell 3 ISE
wmic.exe
cmd.exe
diskpart.exe
edit.com
netsh.exe
nslookup.exe
powershell.exe

Note 4: You could use the .add method to append any other programs that won't run in PowerShell 3's ISE.

$PsUnsupportedConsoleApplications.Add('YourProg.exe')

See more on PowerShell's Get-Variable »

A Reminder of the ExecutionPolicy for Running Scripts

Be default, and for security, you cannot run any PowerShell scripts.  Now before you change this setting try the 'get' verb to see the setting before your run set-ExecutionPolicy.  To see the options try this: help set-ExecutionPolicy.

Get-ExecutionPolicy

# Now try:
Set-ExecutionPolicy remoteSigned

As an aside, you can control the script behaviour when you initialize a session by running PowerShell.exe with a -ExecutionPolicy parameter.  However, I have not yet found a reason to operate this way, I prefer to make a lasting change with set-ExecutionPolicy.  See more on Set-ExecutionPolicy

Engineer's Toolset v10Guy Recommends: SolarWinds Engineer's Toolset v10

This Engineer's Toolset v10 provides a comprehensive console of 50 utilities for troubleshooting computer problems.  Guy says it helps me monitor what's occurring on the network, and each tool teaches me more about how the underlying system operates.

There are so many good gadgets; it's like having free rein of a sweetshop.  Thankfully the utilities are displayed logically: monitoring, network discovery, diagnostic, and Cisco tools.  Try the SolarWinds Engineer's Toolset now!

Download your fully functional trial copy of the Engineer's Toolset v10

PowerShell 3 Keyboard ShortcutsPowerShell 3.0 ISE Keyboard Shortcut

PowerShell 3.0 ISE features keyboard shortcuts not available in previous versions:

CTRL +n: New script, another tab.
CTRL +o: Launches the file menu to open a script.
CTRL +s: Save
CTRL +t: Creates a new PowerShell tab
CTRL +SHIFT +r: opens a remote PowerShell tab
CTRL +Break: Stop Operation
F1: Help for the cmdlet in focus
CTRL +F4: Closes the file
ALT +F4 Closes PowerShell

See right for a screen shot of PowerShell ISE keyboard shortcuts.

5 Beginner's Tips for Using Windows PowerShell ISE

1) Select a Snippet
One advantage of this Microsoft GUI is that you can block of code with the mouse, and then run it by clicking on the green arrow. My point is that if you have a moderately long script you can highlight one part and run just that code snippet.

2) Find the Wiper!
If you look at the row of tools in the PowerShell ISE, then one tool stands out, and that's the 'Wiper'; its official tag is 'Clear Output Pane'. 

3) Show-Command
The idea behind Show-Command is to provide a form so that beginners can investigate the properties of a cmdlet.  See more about Show Command

4) Save Files
'File --> Save' is pretty obvious, but for me this is a crucial reason for using the ISE rather than the raw PowerShell command line.  I make excessive use of saving scripts regularly, this to compensate for me not working methodically.  I have learned from the hard school of knocks, in the past I have a script which is 95% complete, but then I do something silly and wreck it.  If only I could go back to how it was 10 minutes ago.  Well, if I saved a previous version with a different file name, then I can retrieve that stage of the script.

5) Debug Menu
By the time you explore the Debug menu, you are no longer a beginner.  While my task of getting you started is over, I just want to reassure you that as you become more proficient at PowerShell, so ISE has powerful tools to correct any wayward code.

See more of what's new in PowerShell v 3.0 »

Summary of Windows PowerShell 3.0 ISE

In a nutshell the GUI in PowerShell 3 is like a superior version of 2.0; for example the ISE v3 has Auto-complete and a new Command window.  There is also Error Display, if you hover over a red underlined error then you get a 'Tooltip' with suggestions on how to correct the code.

If you like this page then please share it with your friends

 


See more Microsoft PowerShell v 3.0

PowerShell 3.0  • What's New in PowerShell 3.0  • PowerShell 3.0 Foreach-Object

PowerShell Show-Command  • Out-GridView -PassThru  • PowerShell Ordered Hash Tables

PowerShell Home  • PowerShell 3.0 Get-ChildItem  • PowerShell 3 -NotIn  • PowerShell 3.0 Where

 *


Custom Search

Site Home

Guy Recommends: WMI Monitor for PowershellSolarwinds WMI Monitor

Windows Management Instrumentation (WMI) is most useful for PowerShell scripting.

SolarWinds have produced this Free WMI Monitor to take the guess work out of which WMI counters to use for applications like Microsoft Active Directory, SQL or Exchange Server.

Download your free copy of WMI Monitor

Author: Guy Thomas Copyright © 1999-2017 Computer Performance LTD All rights reserved.

Please report a broken link, or an error to: