PSExec中的会话ID

时间:2015-02-02 13:39:02

标签: 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.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地址上运行记事本?

2 个答案:

答案 0 :(得分:3)

如果您只是想在远程计算机上运行记事本,请执行以下操作:

psexec \\135.20.230.160 -u administrator -p force C:\notepad.exe

psexec上有更多info

此外,我假设您的密码是“强制”,并且作为旁注,您不应该将密码放在网上......

如果您想在要连接的计算机上打开notepad.exe,例如,如果您在使用psexec时远程连接到该计算机,则可以使用以下

psexec \\135.20.230.160 -u administrator -p force -i 1 C:\notepad.exe

1之后的-i是会话号,需要与您登录的会话相对应。

要查看当前登录的会话,请打开任何程序并在控制台中键入TaskList,然后找到您的程序并查看会话编号。

答案 1 :(得分:0)

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

C:\Windows\system32>psexec -nobanner \\FRBBL31101 query session

 SESSION           UTILISATEUR              ID  ÉTAT    TYPE        PÉRIPHÉRIQUE
>services                                    0  Déco
 console           toto                      1  Actif
query exited on FRBBL31101 with error code 1.

我们想要的是包含“控制台”一词的行中的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"