WinRSH - Remote Shell for Windows 1.4 WinRSH32 - 32-bit Remote Shell for Windows 1.4 Written by William Cheung (wcheung@ee.ubc.ca) Copyright (C) 1994 Cheung-Smith Ltd. All Rights Reserved. WinRSH is free software; you can redistribute it in any form you like but you cannot modify it. If you find any bugs, feel free to send me an email at wcheung@ee.ubc.ca. Disclaimer ========== WinRSH is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Good data processing procedure dictates that any program be thoroughly tested with non-critical data before relying on it. The user must assume the entire risk of using the program. NEITHER AUTHOR NOR CHEUNG-SMITH LTD. SHALL BE HELD LIABLE FOR ANY KIND OF DAMAGES OR CLAIMS THAT DIRECTLY OR INDIRECTLY RESULT FROM USING THIS SOFTWARE. Requirements ============ o An IBM-PC or compatible computer using 386 or above CPU with at least 4 MB RAM. o Window Socket installed properly. o A host supporting at least one of RSH or REXEC daemon. Installation ============ 1) In your autoexec.bat, add the following statement: set rshhost_dir=c:\winsock where "c:\winsock" is a directory that contains your host database file. This file is usually called "hosts", but for Microsoft's Winsock implementation, this file is named "hosts.sam". You must copy it to have the name "hosts", If you do not have such a file because your machine relies completely on a domain name server (DNS), you can ignore this part. The main purpose of this part is to allow the user to select some known hosts from a range of hosts. 2) For WinRSH: Move ctl3dv2.dll into your Windows installation directory. This ctl3dv2.dll should only exist in your Windows installation directory on your machine or the module will complain about improper installation. For WinRSH32: Move ctl3d32.dll into your Windows installation directory. This ctl3d32.dll should only exist in your Windows installation directory on your machine or the module will complain about improper installation. 3) Simply put winrsh.exe or winrsh32.exe in any directory you like and include it in a group in the Program Manager. Double click on the WinRSH icon and there you go. What's New ========== WinRSH 1.4: 1. 32-bit support for WinRSH 2. Added a "-t" option to force the connection to close when the remote operation does not respond within a specified number of seconds. 3. For remote commands that do not return anything, WinRSH now disconnects gracefully. 4. Fixed a bug in storing previously used commands in the list. WinRSH 1.3: 1. Multiple WinRSH sessions can be executed simultaneously. 2. When WinRSH is retrieving data from the network, the system will not appear "hang". 3. When WinRSH finishes, it will force the remote connection to close. 4. When an internet address is specified in the host name box, connection will be established as opposed to the previous version in which only the "connecting to xxx ..." is shown. WinRSH 1.2: 1. Added the following command line options: -i - minimize WinRSH window upon start up -q - quiet mode - WinRSH will exit when the specified command is done -p - password - WinRSH will switch to REXEC if this option is used -o - output file name 2. The remote command input box is now changed to a dropped-down list where the most recently used commands are listed first. WinRSH 1.11: 1. Fixed a command line bug. 2. Allow a remote command when inputting through the command line to have arguments. 3. If the required options are not fully completed, connection is not established automatically. 4. The protocol automatically switches to RSH if all command line options are specified. WinRSH 1.1: 1. Added "Save settings" option so that the same settings can be used every time WinRSH is executed. 2. Added optional command line arguments. The usage of WinRSH is: winrsh [-l username] [-h hostname] [command] (The [] means the entry is optional.) 3. Added Output logging capability. The output can be logged to a file. 4. Added Microsoft's 3D looking. 5. Upon starting WinRSH, the connection dialog box is automatically displayed. WinRSH 1.0: First public release User Manual =========== Because WinRSH is a very simple program, a comprehensive manual is not really needed. Upon starting the program up, you will see three menus. Each menu is described below: File Menu -> Connect... Establish a remote connection by filling in some remote host information and the remote command to be executed. You can select either the RSH (Remote Shell) or REXEC (Remote EXEC) protocol. The difference between the protocol is that the latter one requires a password and the former one does not. When you press the connect button, you will execute the command in your remote host. After a remote command is done, the remote host will be disconnected automatically. For the remote command, you can either select a command from a list of commands that you have used previously, or enter a different one in the text box. Currently, there is a maximum of 20 commands that you can store in the list. File Menu -> Disconnect Use this option if you want to abort a connection for any reasons. File Menu -> Open Log File Open the log file for viewing/editing. This option requires that notepad.exe is in your search path. File Menu -> Select Log File Allows the user to specify a default log file. The default log file is "winrsh.log" which is located in your Windows installation directory. Edit Menu -> Clear This option clears the screen. Note: WinRSH can buffer up to a maximum of 200 lines. Edit Menu -> Save Settings on Exit Save the current login information (except the password) for a later session. Edit Menu -> Log Output Turns on/off the output logging capability of WinRSH. Help Menu -> About This option displays information about WinRSH. Command line usage ================== The available command line options are: -l username - a valid user name on the remote host -h hostname - a valid remote host name -o filename - an output file name for the output of the command. -p password - a valid password for the user name. WinRSH will use REXEC protocol if this option is specified instead of the default RSH protocol. -t seconds - specify the number of seconds WinRSH will wait before forcing the connection to close. A value of zero means infinite waiting (default). -i - WinRSH minimizes itself if this option is specified. -q - WinRSH terminates itself when all data are received from the remote side. command - a valid command. If the command contains arguments, a pair of double quotes (") should be put around the whole command, e.g. to connect to host "unixhost" with user name "root" and remote command "ps ux", the required command line should be winrsh -l root -h hostname "ps ux" Please note that some command line processor will strip the double quote upon passing the arguments to WinRSH. To get around with this, use \" instead of ". To run WinRSH transparently, you can use options -i, -q and -o together. For example, winrsh -l root -h hostname -i -q -o output.txt "ps ux" To run more than one command on the remote side, you can use a shell on your remote host that accepts multiple commands on a single command line such as "csh" or "tcsh". Then, when using winrsh, use ";" to separate the commands. For example, to run "ps ux" followed by "ls", winrsh -l root -h hostname -i -q -o output.txt "ps ux; ls"