如何使用 script/powershell/... 确定远程计算机上的会话 ID 以便与 psexec -i 一起使用?
我需要一个脚本或 powershell 命令来确定远程计算机上特定登录用户的会话 ID,稍后用作该会话上远程 gui 进程的 psexec -i 执行的参数远程计算机上的用户。
到目前为止,我设法用来
psexec \\remoteMachine -u user -p pswrd query 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 并使用它 - 但还没有设法做到这一点
有什么想法吗? 也许还有其他更简单的方法?
感谢您的帮助。
I am in need of a script or powershell command that will be able to determine the session id of a specific logged in user on remote machine, to be later used as parameter to the psexec -i execution of remote gui process on that session of that user on the remote machine.
So far i managed to use
psexec \\remoteMachine -u user -p pswrd query session
to get list of sessions on the remote machine:
SESSIONNAME USERNAME ID STATE TYPE DEVICE
console 0 Conn wdcon
rdp-tcp#919 user 1 Active rdpwd
rdp-tcp#916 user 3 Active rdpwd
so i guess i could somehow isolate the needed id and use it - but haven't managed to do that yet
Any ideas?
Maybe other - simpler ways?
Thanks for the help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
只要您使用 PSExec,我就会坚持使用它。给定用户名,您可以很容易地获取 ID 字段,例如:
请注意,您希望将
-d
与 PSExec 一起使用,否则它将等到启动的程序退出。As long as you're using PSExec, I would just stick with it. You can get the ID field pretty easily given a username e.g.:
Note that you want to use
-d
with PSExec otherwise it will wait until the launched program exits.无需 PowerShell 即可完成此操作。
有
qwinsta
命令行工具 随 Windows 一起提供,您可以使用。示例:
用法:
It's possible to do that without PowerShell.
There is
qwinsta
command line tool that ships with Windows that you can use.Example:
Usage:
使用 PSTeinalServices powershell 模块,您可以获得用户会话和 ID。
该模块可以在此处找到:http://code.msdn.microsoft.com/PSTerminalServices
With the PSTerinalServices powershell module you can get the user sessions and IDs.
The module can be found here: http://code.msdn.microsoft.com/PSTerminalServices