You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Suppose you have 4 commands, A, B, C, D and you run:
A | B
C | D
In some situations, issues will arise where D receives output from A instead of C. I am not sure as to cause and not entirely certain if it is replicable. I worked around this issue by changing the waitPause to a sufficient amount of time, server dependent. If desired, I can work on adding a method specifically for piping output of one command into another. e.g.
pShell.executeCommand("Get-ADUser").pipe("Select-Object whenCreated");
The text was updated successfully, but these errors were encountered:
Even I see a similar issue. What i have noticed is that the previous command has failed( timed out), the next command on the same session returns an output from previous command.
jpowershell.execute(cmd1) => ran successfully
jpowershell.execute(cmd2) => timed out
jpowershell.execute(cmd3) => returns response of cmd1.
PowerShellCommandProcessor commandProcessor = new PowerShellCommandProcessor("standard", p.getInputStream(),
this.waitPause, this.scriptMode);
The inputStream is shared across threads. And in the constructor of PowerShellCommandProcessor, we don't clear the previous read data, if any.
So when time out occurs, although the methods returns a timeout error, the data is available in the input stream and the next command reads the already available data and returns almost immediately with the previous data which was not read from the stream. This will result in subsequent calls to return the previous data even with out timeout as the stream already has unread data.
Suppose you have 4 commands, A, B, C, D and you run:
A | B
C | D
In some situations, issues will arise where D receives output from A instead of C. I am not sure as to cause and not entirely certain if it is replicable. I worked around this issue by changing the waitPause to a sufficient amount of time, server dependent. If desired, I can work on adding a method specifically for piping output of one command into another. e.g.
pShell.executeCommand("Get-ADUser").pipe("Select-Object whenCreated");
The text was updated successfully, but these errors were encountered: