【发布时间】:2020-11-06 07:28:18
【问题描述】:
我试图使用 python 从 Windows 10 计算机获取重启历史记录,但我担心我无法读取事件查看器。
是否有任何选项可以获得类似于此 powershell 行的内容?
get-eventlog system | where-object {$_.eventid -eq 1074} | select Timegenerated, EntryType, Message
主要思想是对本地网络中的计算机列表进行此“查询”。
【问题讨论】:
-
可以从 Python 调用 PowerShell 的 CLI:Windows PowerShell:
powershell.exe; PowerShell [核心] v6+:pwsh.exe. -
你可能想看看这个 >>> python - 读取特定的 Windows 事件日志事件 - 堆栈溢出 — stackoverflow.com/questions/11219213/…
-
@mklement0 您必须使用 pythons subprocess 模块在 python 中运行 powershell。使用像
pywin32这样与本机 COM 对象交互的 python 库可能更安全。 -
@RoadRunner:是的,但这与您调用的 PowerShell 命令本身一样安全或不安全。这种方法的优点是您可以按原样重用现有的 PowerShell 命令。缺点是性能(尽管在这样一个长时间运行的进程的情况下可能无关紧要)和需要解析 PowerShell 命令的 text 输出(尽管可以想象,你可以通过
-of XML输出CLIXML并在Python中解析XML)。
标签: python powershell reboot