PowerShell Hosts

It is possible to create different custom hosting engines for [[Windows PowerShell|PowerShell]]. Two such engines are provided with PowerShell - console host (powershell.exe) and scripting environment (PowerShell ISE). There is also some [[PowerShell Script Editors|other shells]] built by different companies or community activists. Documentation for creating your own host can be found here.

PowerShell Console Host

PowerShell.exe is default host for PowerShell. It uses standard Windows Console Host base (same as cmd.exe for example), and because of this inherits some of its features and problems. It allows some customizations, but not a much: changing text and background colors, font, window size and buffer size. If Quick Edit mode is enabled then it easier to use clipboard (mouse select and right click to copy, right click to paste).PowerShell.exe used not only for interactive work but also for execution of PowerShell scripts. It have a lot of command line arguments, that can be discovered by calling powershell.exe /?
Usuall command lines to run PowerShell scripts from external applications in non-interactive mode are:
PowerShell script.ps1
PowerShell -NoProfile -NonInteractive -WindowStyle Hydden -File c:\scripts\script.ps1
PowerShell -ExecutionPolicy Unrestricted -Command c:\scripts\script.ps1
Because of console host roots, powershell.exe have some problems with displaing unicode characters, even while PowerShell itself is fully unicode aware.

PowerShell ISE

PowerShell ISE is customizable and extensible builtin scripting environment for PowerShell. It is available since PowerShell v2. In Windows Server 2008R2, ISE is separate feature and need to be enabled before use. You cant use ISE in Windows Server 2008 R2 Server Core mode.While PowerShell v2 is can be installed and almost fully functional with only .NET Framework 2.0 Service Pack 1, PowerShell ISE requires .NET Framework 3.5.
Typically PowerShell ISE window consist of three parts: Script pane, Command pane, Output pane. This parts can be rearranged.

Some of the features of ISE include: Native syntax highlighting, ability to edit script and execute code in same window, full unicode support.
ISE can't use console applications in interactive mode, such as netsh.exe or diskpart.exe
[[Windows PowerShell ISE Add-Ons**|**Extensions for PowerShell ISE]]

Remoting Host

This host not started directly, but when PowerShell Remoting cmdlets, such as Enter-PSSession, or Invoke-Command are used, PowerShell Remoting Host starts on remote computer to execute commands and transfer their serialized output to invoking computer.Like PowerShell ISE it also have problems with interactive appliactions.

Third-party PowerShell Hosts

There is also many [[PowerShell Script Editors|standalone PowerShell editors and shells]] (usually combined in one program)

 

Other Languages

This article is also available in the following languages: