scripting - 如何使用 script/powershell/... 确定远程计算机上的 session ID 以便与 psexec -i 一起使用?

标签 scripting powershell automation psexec

我需要一个脚本或powershell命令来确定远程计算机上特定登录用户的 session ID,稍后用作该计算机上远程gui进程的 psexec -i 执行的参数该用户在远程计算机上的 session 。

到目前为止我设法使用

psexec \\remoteMachine -u user -p pswrd query session

获取远程计算机上的 session 列表:

SESSIONNAME       USERNAME                 ID  STATE   TYPE        DEVICE
console                                     0  Conn    wdcon
rdp-tcp#919       user                     1  Active  rdpwd
rdp-tcp#916       user                     3  Active  rdpwd

所以我想我可以以某种方式隔离所需的 id 并使用它 - 但还没有设法做到这一点

有什么想法吗? 也许还有其他更简单的方法?

感谢您的帮助。

最佳答案

只要您使用 PSExec,我就会坚持使用它。给定用户名即可轻松获取 ID 字段,例如:

$username = 'joe'
$results = psexec \\remoteMachine -u adminuser -p password query session
$id = $results | Select-String "$username\s+(\w+)" |
                 Foreach {$_.Matches[0].Groups[1].Value}

psexec \\remoteMachine -u $username -i $id -d notepad.exe

请注意,您需要将 -d 与 PSExec 一起使用,否则它将等到启动的程序退出。

关于scripting - 如何使用 script/powershell/... 确定远程计算机上的 session ID 以便与 psexec -i 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3742896/

相关文章:

python - Selenium 即使提供了很高的隐式等待时间也无法找到元素

windows - Autohotkey(ahk)GUI十字线实现

powershell - 使用 WindowServerCore 在 Docker 中没有 PowerShell 帮助

powershell - 使用空格传递计算路径

Powershell错误添加到数组

pdf - 保存 DiffPDF/ComparePDF 命令行的输出。 - 比较 PDF 的文件夹

node.js - 有没有更好的方法来终止 childProcess,然后只执行 childProcess.kill()

groovy - 如何使用Groovy从SoapUI TestCase中删除自定义属性?

bash - 我的 Bash 别名不起作用

linux - 加载/etc/profile/时发现错误