c:\pstools\psexec \\172.168.0.9 -u username -p password -i 4  -d c:\abc.exe

上面的例子是调用远程机器上的abc.exe并且显示UI界面。

这里解释一下-i和-d

-d指的是执行完命令不等待程序执行完成,命令行恢复到可输入状态,带这个选项就看不到返回值了。如果不加这个选项,abc.exe要执行很久的情况下,当前命令行窗口就不能在输入其他了。

-i 4指的是在sessionid为4的user桌面上显示abc.exe的UI。

查询SessionID可以用这个命令:

query session或Query Session username

 

query session user1

SESSIONNAME USERNAME       ID          STATE TYPE               DEVICE
rdp-tcp#18         user1                  4              Active

可以用powershell脚本取得sessionid

$result = query session user1

$parttern="(\s)+(\d)+(\s)+"
$result -match $parttern
$sessionId=$Matches[0].Trim()