我试图使用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中捕获输出。
尝试将此添加到您的psexec命令。 -accepteula此标志禁止显示许可证对话框。