我在Windows7系统上使用Jenkins.我想用它来在远程Windows系统上执行批处理脚本.批处理脚本将用于刷新开发板并运行一些测试.我遇到了psexec.exe.这通过命令提示符窗口很好 - 我可以连接并运行脚本没有任何问题,但当我尝试让Jenkins这样做时,我得到以下输出:
PsExec v2.11 - Execute processes remotely
Copyright (C) 2001-2014 Mark Russinovich
Sysinternals - www.sysinternals.com
The handle is invalid.
Connecting to ABCDEFG...
Couldn't access ABCDEFG:
Connecting to ABCDEFG...
Build step 'Execute Windows batch command' marked build as failure
Run Code Online (Sandbox Code Playgroud)
我在两种情况下使用的命令是:psexec.exe \\ ABCDEFG -u"DOMAIN\username"-p"password""C:\ test.bat"
与用户名关联的用户在远程系统上具有管理员权限(ABCDEFG不是系统的真实名称).
任何人都可以帮我弄清楚为什么它不能通过詹金斯工作?或者,是否有更简单/更好的方法通过Jenkins在远程Windows系统上执行批处理脚本?
我需要知道如何从 COM 端口连续读取数据并使用 Windows Powershell 将其转储到文件中。在读取数据时,我还需要监视正在读取的数据,并根据读取的最后一行内容将数据写入 COM 端口。
要在 Powershell 中打开 COM 端口,我这样做:
[System.IO.Ports.SerialPort]::getportnames()
$port= new-Object System.IO.Ports.SerialPort COM3,115200,None,8,one
$port.open()
Run Code Online (Sandbox Code Playgroud)
要将数据读入 COM 端口,我这样做:
$line=$port.ReadLine()
Run Code Online (Sandbox Code Playgroud)
我最初的想法是让主 Powershell 脚本打开 COM 端口。然后它会启动一个后台/子任务,从 COM 端口连续读取数据并将其转储到文件中。当该子任务正在运行时,父任务将持续监视文件并在需要时写入 COM 端口。
当我尝试这样做时,孩子无法从 COM 端口读取数据,因为父母将其打开并且孩子没有从父母那里继承该权限。
关于我如何做到这一点的任何想法?