October 9th, 2012, 03:08 AM
Psexec - input redirection to a remote exe - is this a known issue
Description of my scenario: I am using PsExec to remotely launch an in house utility which prints certain records on the command prompt. When this utility is launched on the command prompt by logging into the remote server, the utility works fine. It is able to print all the records which is expected out of it. However, when the utility is launched remotely using Psexec , the utility hangs. Basically this is what we do to launch the exe remotely: i)Connect to the remote server as an adminstrator using psexec and open a remote cmd.exe psexec \ -u -p cmd.exe ii)Launch the utility from the remote cmd.exe
Upon further investigation, it was found out that the utility makes use of an API called ReadConsoleInput(). (http://msdn.microsoft.com/en-us/libr...v=vs.85).aspx) There is logic in the utility to print records on the command prompt with a page size of 23 records and then waits for the user input.ReadConsoleInput() waits for an user input before the next page of records is displayed. This API does not return until at least one record is read from the Console input buffer. Since Psexec does not redirect the keystrokes back to the remote server, the function waits indefinitely.This results in a hang.
Is this a known issue? If yes, how do i get this scenario working? Any alternatives? Are there any documented workarounds?
Any help would be very much appreciated.
Click Here to Expand Forum to Full Width
This is a Codeguru.com survey!