Windows PSExec中的会话ID

Windows PSExec中的会话ID,windows,powershell,psexec,Windows,Powershell,Psexec,Psexec无法在远程会话上为我显示记事本GUI。因此,我尝试获取会话id,如下所示: c:\Users\Amitra\Downloads\PSTools>PsExec -u administrator -p force \\135.20.230.160 query session PsExec v2.11 - Execute processes remotely Copyright (C) 2001-2014 Mark Russinovich Sysinternals - www.sys

Psexec无法在远程会话上为我显示记事本GUI。因此,我尝试获取会话id,如下所示:

c:\Users\Amitra\Downloads\PSTools>PsExec -u administrator -p force \\135.20.230.160 query session
PsExec v2.11 - Execute processes remotely
Copyright (C) 2001-2014 Mark Russinovich
Sysinternals - www.sysinternals.com
 SESSIONNAME       USERNAME                 ID  STATE   TYPE        DEVICE
>services                                    0  Disc
 rdp-tcp#0         Administrator             1  Active  rdpwd
 console                                     4  Conn
 rdp-tcp                                 65536  Listen
query exited on 135.20.230.160 with error code 1.

现在,有了上面的输出,psexec中的正确命令应该是什么来在IP地址上运行notepad

如果您正试图在远程计算机上运行记事本,请执行以下操作:

psexec \\135.20.230.160 -u administrator -p force C:\notepad.exe
更多关于psexec的信息

另外,我假设你的密码是“强制”的,作为补充说明,你不应该把你的密码放在网上

如果您希望看到notepad.exe在您连接的计算机上打开,例如,如果您从另一台计算机使用psexec时远程连接到该计算机,您将使用以下命令

psexec \\135.20.230.160 -u administrator -p force -i 1 C:\notepad.exe
-i
后面的
1
是需要与您登录的会话对应的会话号


要了解您当前以何种身份登录的会话,请打开任意程序并在控制台中键入
TaskList
,找到您的程序并查看会话号

要获取会话ID,我使用此批处理(抱歉,它位于法国服务器上):

我们想要的是包含单词“console”的行中的id(第三个标记)

我的批次:

rem Enter batch name with computer name after like : MyBatch.cmd Mycomputer
set host=%1
FOR /F "tokens=3 delims= " %%i IN ('psexec -nobanner \\%host% query session ^| findstr "console"') DO set "ID=%%i"
rem Enter batch name with computer name after like : MyBatch.cmd Mycomputer
set host=%1
FOR /F "tokens=3 delims= " %%i IN ('psexec -nobanner \\%host% query session ^| findstr "console"') DO set "ID=%%i"