About PowerShell Server

Secure Remote Access to PowerShell Over SSH.

PowerShell Server is a full-featured SSH 2.0 server that enables Windows Desktops and Servers with a secure remote entry point to a Windows PowerShell Host. This gives users the power to securely manage Windows remotely through PowerShell from any standard SSH client.

In addition to terminal access, the included secure remote access cmdlets work with PowerShell Server to provide an easy-to-use WinRM alternative for PowerShell Remoting. PowerShell Server can act as a standalone server or can pass remote objects through the included SSHRunspace cmdlet, enabling SSH secured remoting.

PowerShell Server Features

  • Support for Secure Shell (SSH) Version 2.0
  • Run as a Windows Service or as a standalone user application
  • Securely connect to Windows PowerShell remotely from any standard SSH client, including: iPhone, Blackberry, Linux/Unix machine, etc
  • Public Key, Password, and GSSAPI Authentication (NTLM and Kerberos) support
  • Strong 3DES encryption, message integrity checking, secure secret key exchange
  • Secure SCP file transfer
  • SSH tunnel support
  • Unlimited concurrent remote connections (depending on license level)
  • An easy-to-use, lightweight and secure PowerShell Remoting alternative to WinRM
  • SSH-enabled cmdlets for scriptable access to PowerShell Server
  • SSH-enabled components (PowerShell Objects) for programmatic access to PowerShell Server from multiple languages and environments.

Using PowerShell Server - PowerShell Server can be run as a standalone application on your Windows Desktop that sits quietly in your taskbar notification tray, or as a Windows Service that runs in the background.

Remoting - When the SSHRunspace cmdlet connects to PowerShell Server, the objects in the remote shell are XML serialized and returned through a secure SSH connection.  On the client side, SSHRunspace will transparently deserialize to PSObjects with corresponding fields matching the remote objects. The returned objects can be pipelined, evaluated, and stored as any other PSObject.