【问题标题】:Run 'query session' from python从 python 运行“查询会话”
【发布时间】:2015-08-03 09:59:42
【问题描述】:

所以我正在用 python 编写一个程序,它将报告系统上与 RGS 连接的用户。

在 Windows 上获取用户的一种方法是 query session 命令。 我尝试了os.popensubprocess.Popen 有和没有shell=True。我什至指定了命令的完整路径。

我得到的只是这个错误:

'C:/Windows/System32/query.exe' is not recognized as an internal or external command, operable program or batch file.

我可以使用 PsLoggedon.exe 让它工作,但这不会告诉我会话类型。

所以我想我的问题是:我怎样才能让这个命令工作,或者还有什么方法可以解决这个问题?

【问题讨论】:

  • 请出示您的代码。

标签: python windows python-2.7 subprocess


【解决方案1】:
import subprocess

args = ['C:\\Windows\\system32\\query.exe', 'user']
process = subprocess.Popen(args, stdout=subprocess.PIPE)
output, err = process.communicate()

users = [line[1:].split('  ')[0] for line in output.strip().split('\n')[1:]]
print(users)

为我打印['poke']

【讨论】:

  • 对于在 64 位 Windows 上运行的 32 位 Python,请使用 args = [r'C:\Windows\Sysnative\query.exe', 'user']。 query.exe 没有 32 位版本。
  • @eryksun,一定是这样。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-20
  • 2011-07-17
  • 2015-01-13
  • 1970-01-01
  • 1970-01-01
  • 2021-10-03
  • 1970-01-01
相关资源
最近更新 更多