【问题标题】:wmi win32_ process stdout pythonwmi win32_处理标准输出python
【发布时间】:2020-08-12 16:28:16
【问题描述】:

我正在尝试连接到远程 windows 机器,使用 win32_process 通过远程机器的命令行计算桌面上的文件数并获取输出。

我使用 WMI,

c=wmi.WMI('machine name',user='username',password='password')
mycommand = c.Win32_Process.Create(CommandLine='cmd.exe /c  dir /a:d /s /b "C:\User\Desktop" | find /c ":\"')

有什么方法可以通过python获取这个命令的输出(文件数)

更新。也许您知道如何连接远程机器、通过命令行(或 powershell)运行任何命令并获得输出? (除了 paramiko,它不适用于我的服务器)。

【问题讨论】:

  • 如果不需要远程进程,您是否尝试过使用 UNC 名称? DIR \\MACHINE\C$\User\Desktop 我从来没有使用 WMI 做过,但是 PowerShell Invoke-Command 很简单。
  • 谢谢,请您发送带有描述的链接,我如何通过 powershell 进行操作?没找到……
  • 在 powershellconsole help Invoke-Command -Full 互联网上有很多可用的信息。 google.com/…

标签: python cmd wmi win32-process


【解决方案1】:

没有明确的方法可以通过 wmi 从远程 Windows 机器读取输出。 您可以尝试安装驱动器并读取内容。 将 localhost 更改为远程计算机 IP。这里的D$指的是我要挂载的D目录

import os
   
filename = 'example.log' 
for root, dirnames, filenames in
   os.walk('\\\\localhost\\D$\\Testdir\\'):
       for file in filenames:
           if filename in file :
               match=os.path.join(root, filename)
               f = open(match).read()
               print(f)

可以在以下网址查看更多示例:

https://ashishpython.blogspot.com/2013/11/how-to-read-files-of-computer-drive-in.html

【讨论】:

    猜你喜欢
    • 2013-06-13
    • 2015-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-10
    相关资源
    最近更新 更多