Click here to Skip to main content
15,885,546 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
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/library/windows/desktop/ms684961(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.

Thank
Posted
Updated 8-Oct-12 22:49pm
v2
Comments
Richard MacCutchan 9-Oct-12 4:50am    
You need to change your utility so it does not wait for console input.
chaau 9-Oct-12 6:42am    
I think this question will be best answered here:
http://forum.sysinternals.com/forum_topics.asp?FID=8&title=pstools

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900