Windows PowerShell Support
Pragma's new Gen 2 release of Pragma
Fortress SSH Server and Pragma Telnet
Server provides comprehensive support for Microsoft's new
Windows PowerShell offering. Microsoft's PowerShell clearly surpasses the Unix shell
in both its set of features and funtionality, as well as being able to pipe .NET objects -
not just text streams - as Unix shells do.
With Pragma SSH server or Pragma Telnet Server installed, PowerShell can be invoked
from any computer or device that has an SSH or Telnet client installed. Some screen
shots below demonstrate Pragma software use in conjunction with PowerShell. Click
an image to view it full size.
Fig 1. PowerShell on Windows Server 2008 R2 accessed using ssh client
Fig 2. PowerShell on Windows 7 accessed using ssh client
Fig 3. Edit editor invoked from PowerShell on a Windows 7 32 bit machine using ssh to edit a file
With Pragma SSH and Telnet servers, you can see all lines of the output of PowerShell and also can scroll back in history and view previous commands and their outputs. No other competitor currently can accomplish this feat!
There are three choices of Pragma transports for PowerShell command execution remotely : highly secure IEEE draft standard SSH, Telnet SSL and Telnet with NTLM/AD authentication. SSH is available with the Pragma Fortress SSH Server and TelnetSSL/TelnetNTLM/AD is available in the Pragma Telnet Server product.
Fig 4. Shown above, scrolling back 1000 lines of count program output to see "pragmareg" command output listing with Pragma products installed (Pragma Fortress SSH 5.0 Build 9)
Fig 5. To make powershell the default shell of SSH/Telnet, run "pragmamgr servername" and change the Shell Program from \windows\system32\cmd.exe to \windows\system32\windowspowershell\v1.0\PowerShell.exe.
A default installion of Pragma's software keeps cmd.exe as the default shell. One can easily modify a system to make PowerShell the default shell for SSH/Telnet. One way is to invoke the Pragma configuration graphical program as "Pragmamgr.exe servername", as shown above, and change the Shell location from \windows\system32\cmd.exe to \windows\system32\windowspowershell\v1.0\PowerShell.exe.
It is advisable to also change the "Stream Settings" Shell as well from cmd.exe to Powershell.exe as the Stream Settings path is used for remote command execution shell. The "Console Settings" shell path is used for an interactive logon shell. A second way to change the shell is to use Windows "regedit" or any registry editor, to change the actual registry location of shell to point to Powershell (the full path must be provided). The following registry locations should point to full path of PowerShell.exe.
For Pragma SSH Server,
For Pragma Telnet Server,
Fig 6. Access PowerShell from Linux machines using Pragma SSH. Above image shows Linux ssh client running various PowerShell commands on an Windows Server 2008 R2 running Pragma SSH server
Fig 7. Manage Exchange Email server from Linux using Pragma SSH and PowerShell
The following is a list of key advantages of the Pragma SSH and Telnet Servers that are currently not available from any other companies in the Telnet or SSH industry. In addition, Pragma has patents-pending on some of these inventions.
Fig 8. Manage the same Exchange Email server from Windows using Pragma SSH and PowerShell
- The ability to generate many lines of output, see them all and scroll back at ease as no other vendor can do in conjunction with programs like PowerShell. Others offerings can show you a fixed number of lines of output (25, 43, etc.) and scroll back. Pragma's technology can show all lines of output and allow for full scroll back
- Convergence of modes. One single mode for Pragma (termed "AdvancedConsole") runs PowerShell with its full power. Competitors have stream/tty and console mode dichotomies, one of which must be selected at the start of a session. With other offerings, you can only run Powershell in console mode (PowerShell will not run in their stream/tty mode). But the competitor's console mode limits outputs to a fixed number of lines and command history/outputs are lost. Pragma's invention make its servers have no such limits and PowerShell can be run smoothly in remote machine as if one is typing the commands to a local shell
- Pragma servers are fast as they avoid periodic screen scrapping common in the industry due to Windows architecture. Pragma uses a totally new approach, redirecting Windows APIs (part of our patent-pending Pragma invention) to build its servers. Competitors use inefficient periodic screen scrapping which utilizes a large quantity of CPU cycles to draw Powershell screen output
- Pragma can run all programs. Competitors cannot run programs that generate multiple console screens like Windows Resource kit "vi.exe", simple program "flipflop.exe", CA INGRES database command lines "isql" and other database vendors' command line tools. Pragma uses its WRAP technology to accomplish this feat
- Remote Command execution is a salient feature of SSH standard. Pragma servers can remotely execute PowerShell commands and return the output as called for in the specification, competitors cannot. For example, "ssh servername powershell get-date" succeeds with Pragma SSH server but will currently fail on others
PowerShell outputs can be saved to shell variables to use in PowerShell scripts/cmd-lets. Examples follow:
ssh servername --ssh to servername to get a shell session
powershell --optional: get interactive powershell if some other shell is the default
$a=net view --net view outputs of machine names stored in $a powershell variable
$a --show the contents of $a shell variable; $a contents can be parsed in scripts
$b=gwmi win32_processor --get-windows-mgmt-object win32_processor and store it in $b shell var
$b | format-list CurrentVoltage --show only CurrentVoltage value in $b PowerShell variable
Complex commands are invoked by enclosing them within quotes:
Ssh servername powershell "gwmi win32_processor | format-list *"
More PowerShell Command invocation examples:
1) invoke powershell remotely to get data from a remote computer; if powershell is configured as the default shell in the SSH server, then "powershell" in the commands is not necessary
ssh servername powershell gwmi win32_bios
ssh servername powershell gwmi win32_processor
ssh servername powershell ps
ssh servername powershell get-service
with powershell installed as the default SSH shell, the commands become:
ssh servername gwmi win32_bios
ssh servername gwmi win32_processor
ssh servername ps
ssh servername get-service
2) all command line commands of powershell, cmd and programs installed
are available to run remotely.
"ssh -w servername" or "telnetc servername" to login to a server servername with password authentication ( password logon allows nested session described below easier )
a) powershell --invoke it if default shell is other than powershell
//run any powershell cmds, cmdlets and 3rd party tools
userinfo /u username /m localhost
b) see all ssh/telnet users logged to a system by Pragma telmc tool
telmc /who /c --run telmc as a console without exiting, user logon/logouts updated as it happens
c) run pragma command line registry editor
? // to get help with registry editor
d) sftp or ftp to download or upload files
e) securely copy files using Pragma supplied scp ( a standard in ssh world )
scp anotherservername:c:/patchdir/file1.exe file1.exe
f) securely copy a directory tree from another machine using scp
scp -r anotherservername:c:/patchdir
g) ssh to another server
h) telnet to another computer using SSL and Microsoft NTLM
telnetc /s /w servername
i) telnet to another computer using SSL and password logon
telnetc /s servername
Pragma is a Microsoft Launch partner for Windows 7/Windows Server 2008 R2. Pragma's latest Gen2 release fully supports Windows 7, Windows Server 2008 R2, Windows Server 2008/2003/2000 and Windows Vista/XP. Pragma's software has attained "Certified for Windows Server 2008", Hyper-V and "Certified for Windows Vista" certifications. Pragma's software are all available in three binary packages: 32-bit, 64-bit and Itanium 64-bit. Full-featured ssh, sftp, scp, telnetssl and telnet clients (both gui and command line) are bundled with Pragma's server software to perform system administration without needing additional tools. In 4Q 2009, Pragma plans to offer PowerShell sftp and scp cmdlets for high-performance secure file transfers.