捕获wmic查询的输出通过PSexec和python脚本在远程机器上运行

问题描述 投票:0回答:1

我试图使用WMIC返回远程机器上的信息,例如安装的软件,配置等。我正在使用PSexec远程运行工具。

当我运行诸如的命令

psexec \\hostname wmic product get name,version >> C:\Results.txt

从命令提示符我得到一个具有所需结果的文本文件。

由于我有200-300台机器要查询,我需要每月运行查询,我想使用python 3.x脚本自动执行该过程。

我的问题是当我运行它

import subprocess

cmdstr = r"psexec \\hostname wmic product get name,version >> C:\Results.txt"
result = subprocess.Popen(cmdstr, shell=True)

要么

import subprocess

cmdstr = r"psexec \\hostname wmic product get name,version"
result = subprocess.Popen(cmdstr, shell=True,stdout=subprocess.PIPE, stderr=subprocess.PIPE)

output= result.communicate()

print(output)

所有我得到的PStools版权声明和输出确认它正在运行并退出代码0但没有来自WMIC查询的输出。

理想情况下,我希望能够使用上面的第二个示例,这样我就可以遍历所有机器并在python中捕获输出。

python-3.x subprocess psexec wmic
1个回答
0
投票

尝试将此添加到您的psexec命令。 -accepteula此标志禁止显示许可证对话框。

© www.soinside.com 2019 - 2024. All rights reserved.