Windows PowerShell is no doubt a powerful tool, however PowerShell command shell sometimes becomes little clumsy for doing simple operations like copying, pasting, moving lines. Here is where PowerShell Integrated Scripting Environment (ISE) takes over. PowerShell ISE was released in the year 2009. PowerShell ISE is a host application where we can write, control, modify, test and debug commands and scripts in a single GUI. This is a nice tool that comes free with PowerShell which has the flexibility of both world’s command line and colorful text editor. There is variety of other features available in PowerShell ISE which makes the tool more rich and admin friendly.
Scripting Pane
Scripting pane is an additional text editor window available in PowerShell ISE where we also can perform all the PowerShell operations easily. Scripting Pane and Command Pane can be toggled using key board shortcut CTRL + R. There is also an Output pane available which shows the commands and script output.
There are various other key board shortcuts available in PowerShell ISE which is detailed in this link - http -//technet.microsoft.com/en-us/library/jj984298.aspx
Fig 1 - Script Pane and Command Pane in PowerShell ISE
Copy/Paste Commands
Copying and Pasting works like a charm in the ISE tool. Copying a single line, set of lines or complete run script can be copied with a single left click of mouse and dragging across/up-down, or by using the SHIFT + cursor keys. The next everyone knows, CTRL+C and CTRL+V. This job was very difficult in the PowerShell CLI.
Fig 2 - Highlight a line of script in PowerShell ISE
Running Selection
Running a single command out of multiple commands written in a single script or running a piece of script out of multiple lines of script was not available in PowerShell CLI. PowerShell ISE has this feature where we can highlight the part of the script which we would like to test run and click on F8 which runs the selected part of the script only and generates the output.
Fig 3 - Run selection in PowerShell ISE
Command Add-on
Command Add-on is a great add-on feature in PowerShell ISE which shows as a sidebar when we click on top right icon. We can search cmdlets easily than executing the Get-Command and scrolling down to find our required cmdlet. We can Run or Insert or Copy the desired cmdlet as well into Command pane from the Command Add-on.
Fig 4 - Show Command Add-on in PowerShell ISE
Script Tabs
Scripting tab is simply wonderful where administrators can execute multiple scripts/task simultaneously in multiple tabs. It is much appropriate than working with multiple PowerShell console windows.
Fig 5 - Scripting Tabs in PowerShell ISE
IntelliSense
Another brilliant feature available is IntelliSense, an auto-completion window that appears when we type a cmdlet, noun, parameter etc. When the pop-up appears, we can scroll down and select the needed context and it is just automatically inserts into the script.
Fig 6 - Working with IntelliSense in PowerShell ISE
Code Snippet
Another valuable feature in PowerShell ISE is snippets, template codes that we can use while developing scripts. To add a snippet in the script pane, just need to click on CTRL+J. This launches a pop-up window that lists down available snippets and then we can scroll down to select the desired piece of code in to our script. Administrators also can build and add their own snippets in to the default collection.
Fig 7 - Inserting a code snippet in the script
Remote Tab
Remote Tab is another feature where administrators can connect to remote computer or server and run the scripts remotely. Remote Tab can be accessed by clicking on the Remote Tab button or using short cut key CTRL + SHIFT + R or through File -> New Remote PowerShell Tab. Administrators need to enter credentials while connecting using Remote Tab feature.
Fig 8 - Remote Tab in PowerShell ISE
That’s not all! There are many more features available in PowerShell ISE like color coding, zoom, syntax highlighting, customize interface and advanced debugging etc. which administrators and IT professionals can make use of while developing automations scripts which can make admin tasks easy. We just need to explore more and make use of this tool in our day to day scripting which a way better tool than PowerShell CLI.