PowerShell Server supports interactive terminal connections as well as remote command execution (Sexec/SSH Exec); both options are found in most SSH clients. Interactive terminal connections provide a way to execute PowerShell commands with an experience similar (if somewhat simplified) to that of working on the local Windows PowerShell prompt.
The interactive terminal mode supports the following features:
- A "dumb terminal" mode for non supported clients.
- Client-side Cmdlets include Connect-PowerShellServer, Invoke-PowerShellServer, and Disconnect-PowerShellServer, which trigger the server to XML serialize objects before sending them to the client. When these objects are received by the client side cmdlet, they are de-serialized back into PSObject instances. These cmdlets are available in the NetCmdlets product.
- A basic VT100+ terminal emulation mode that includes command history using the up/down arrow keys and basic command line editing: cursor movement, backspace/delete and insert/replace mode, most PowerShell host output commands, colorized output, and most of the basic host input commands.
Any SSH client can connect to PowerShell Server and execute commands. Interactive terminal connections have been tested with a variety of clients and will work with any of the following clients:
- Putty on Windows
- Connect-PowerShellServer, Invoke-PowerShellServer, and Disconnect-PowerShellServer Cmdlets included in NetCmdlets.
- PSClient in IP*Works! SSH
- Any SSH client on a mobile device.
- OpenSSH with XTerm, gnome-terminal, Konsole.
By default, the VT100+ emulation support will be enabled for any clients identifying themselves as vt* terminals (e.g. vt100, vt220 and so on) or as xterm. Other clients will be connected using the dumb terminal mode. This behavior can be controlled using the SupportedTerminals registry key (see the Registry Keys section for more details).
Other clients might work with the VT100+ emulation, provided they identify themselves properly during connection establishment and that they support (and enable by default) the VT100 Auto-Wrap mode.