我正在尝试通过Jenkins使用psexec运行远程命令。如果我直接通过命令行运行该命令,我会得到预期的输出。如果我通过Jenkins运行完全相同的命令,它似乎只输出第一行。
如何让Jenkins / PSExec / CMD显示完整的stdout输出?我尝试了多个命令行标志,例如在交互模式下运行PSExec(-i,-i 0,-i 1),以及其他似乎相关的选项,甚至是那些不相关的选项。
示例命令:
PsExec.exe -accepteula \\server cmd /c ipconfig
命令提示符输出:
PsExec v2.11 - Execute processes remotely
Copyright (C) 2001-2014 Mark Russinovich
Sysinternals - www.sysinternals.com
Windows IP Configuration
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe30::f175:1634:asf4:756e%12
IPv4 Address. . . . . . . . . . . : 10.128.51.66
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 10.128.51.1
Tunnel adapter isatap.{5EA7E8FB-C491-483E-B24D-3CBDFA2D5619}:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Tunnel adapter Local Area Connection* 11:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
cmd exited on tst-hrm-app03.nexjtest.local with error code 0.
Jenkins输出:
C:\NexJ\jboss-5.1.0.GA\server\all_8280\jenkins\workspace\Build and Deploy TEST>PsExec.exe -accepteula \\server ipconfig
PsExec v2.11 - Execute processes remotely
Copyright (C) 2001-2014 Mark Russinovich
Sysinternals - www.sysinternals.com
Windows IP Configuration
Connecting to tst-hrm-app03.nexjtest.local...
Starting PSEXESVC service on tst-hrm-app03.nexjtest.local...
Connecting with PsExec service on tst-hrm-app03.nexjtest.local...
Starting ipconfig on tst-hrm-app03.nexjtest.local...
ipconfig exited on tst-hrm-app03.nexjtest.local with error code 0.
2条答案
按热度按时间dxxyhpgq1#
我在psexec也遇到了同样的问题。Psexec将tasklist写入文本文件。在我试着读它之后。但psexec只读了部分行。我的问题是用一组命令解决的。
1.写入文件
psexec \\remote_pc cmd /c tasklist /v /fi "imagename eq magentproc.exe" /fo list > C:\temp.txt
1.使用带有正则表达式参数的findstr读取它
psexec \\remote_pc cmd /c findstr /r ".*" C:\temp.txt
它可能对某人有用。
aij0ehis2#
我也有同样的问题。我尝试重定向到一个文件,它肯定工作,但
psexec \\remote_pc cmd /c dir ^| findstr /r ".*"
也截断输出,我想避免写任何文件,任何建议?