Components for Integrating PowerShell Into Applications
Components for Integrating PowerShell Into Applications
  • Enable your applications to securely execute PowerShell Scripts on remote Windows instances.
  • Easily embed PowerShell scripting capabilities into any Windows application.
  • Easy-to-use plug-and-play interface to PowerShell SSH Server instances from any development technology.
Download Free Trial

PowerShell Objects is a component library that provides simple plug-and-play interfaces to PowerShell that can be easily integrated into any application.

The PowerShell Objects client components can be used to securely (SSH) communicate with remote servers and pass data through standard streams or through PowerShell Objects. The included PSHost component enables developers to embed a PowerShell Scripting engine directly within any Windows application. Combined these components offer unprecedented access to PowerShell Scripting to application developers.

Included Components

  • PSClient - Used to execute PowerShell commands remotely on PowerShell Server and return PowerShell Items.
  • PSExec - Used to execute PowerShell commands remotely on SSH Server and return standard output.
  • PSHost - Enables developers to embed a PowerShell Scripting engine inside Windows applications. PSHost can execute PowerShell commands through a PowerShell runspace, add variables to the runspace, and process the results of pipeline execution.

How It Works

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.

The PowerShell Objects PSClient component can then be configured to connect to the instance of PowerShell Server and execute arbitrary PowerShell commands remotely in a secure manner, using the SSH protocol. The results of the command execution are then returned as a list of objects, each one with a base type, an (optional) value and a collection of named properties.

Here is an example of using the .NET Edition of PowerShell Objects to connect to a remote machine and execute a PowerShell 'get-process' command:

Psclient1.SSHUser = "DomainUser";
Psclient1.SSHPassword = "****";
Psclient1.SSHHost = "FooDomain"
Psclient1.Logon();
				
Psclient1.Execute("get-process");
				
for (int i = 0; i < Psclient1.PSObjectCount; i++) {
    Psclient1.PSObjectIndex = i;
    foreach (PowerShellInside.PowerShellSSH.PSProperty prop in Psclient1.PSObject.Values) {
		Console.Write("{0}:{1}/r/n", prop.Name, prop.Value);
	}  
}
Psclient1.Logoff();

Component Highlights

  • Fast, robust, and reliable, the components consume a minimum of resources.
  • Small and lightweight components with no dependencies on external libraries.
  • Native development components for all supported platforms and component technologies.
  • A complete unified framework with a common easy-to-learn object model and simplified interfaces allowing you to be more productive.
  • Backed by multi-tier professional support, including free email support and enterprise-level paid support.
  • Secure connectivity through SSH strong encryption.