gpt4 book ai didi

javascript - 使用 PsExec 生成子进程会导致标准输出被 chop

转载 作者:行者123 更新时间:2023-11-29 21:59:54 26 4
gpt4 key购买 nike

我的目标是能够在远程机器上执行命令并从运行的命令中获得完整的标准输出响应。我得到的是一个 chop 的结果。当我通过命令提示符运行相同的命令时,我从命令运行中获得了完整的输出。这是我的代码:

    var process    = spawn('PsExec.exe', ['\\\\servername', 'ipconfig']);
var doOnce = true;
process.stdout.on('data', function (data) {
log.info('stdout: ' + data.toString());
if(doOnce){
doOnce = false;
process.stdin.write('ipconfig');}
});

process.stderr.on('data', function (data) {
log.info('stderr: ' + data.toString());
});

process.on('exit', function (code) {
log.info('child process exited with code ' + code);
});

执行时,我得到以下控制台输出。如您所知,所有 ipconfig 都已被 chop 。如果我执行另一个命令,如 netstat,我会在 chop 发生之前得到大部分结果,所以我认为这与缓冲区没有任何关系。在这一点上,我真的没有想法。

info: stderr: 
PsExec v2.11 - Execute processes remotely
Copyright (C) 2001-2014 Mark Russinovich
Sysinternals - www.sysinternals.com


info: stdout:
Windows IP Configuration



ipconfig exited on servername with error code 0.

info: child process exited with code 0

最佳答案

尝试使用 { stdio: 'inherit' } 选项

var spawn = require('child_process').spawn,
appname = spawn('psexec.exe', ['-accepteula', '\\\\remotepcname', '-u', 'domain\\username', '-p', 'supersecretpassword', 'ipconfig'], { stdio: 'inherit' });

关于javascript - 使用 PsExec 生成子进程会导致标准输出被 chop ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24395544/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com