草庐IT

c# - 使用 WMI ManagementObjectSearcher 缺少指令或程序集引用?

我找到了这个链接:DetectAntivirusonWindowsusingC#但是,当我在VisualC#ExpressEdition2008中尝试这段代码时,它说:Error1Thetypeornamespacename'ManagementObjectSearcher'couldnotbefound(areyoumissingausingdirectiveoranassemblyreference?)C:\Users\Andy\Documents\VisualStudio2008\Projects\ConsoleApplication1\ConsoleApplication1\P

windows - 从 WMI ExecQuery 获取第一条记录

我有一个简单的vbscript用于检索Windows版本:SetobjWMI=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")SetcolVersions=objWMI.ExecQuery("Select*fromWin32_OperatingSystem")ForEachobjVerincolVersionsver=objVer.VersionNext是否可以获取第一条记录,或者我是否必须遍历集合中的所有记录。我见过的所有示例都是使用ForEach构造的。我在尝试时收到Expectedendof

windows - WMI EnableDHCP 在断开连接的适配器上失败

我正在使用WMIWin32_NetworkAdapterConfiguration类EnableDHCP方法在网络适配器上启用DHCP服务。我使用的是XPEmbeddedwithSP2,但它也发生在我的桌面(XPSP3)上。一切正常,除非拔下网络电缆。如果电缆断开连接,EnableDHCP返回94(未找到路径、文件或对象),当我查看网络控制面板属性时,它被设置为手动配置,地址为0.0.0.0,掩码为255.0.0.0。奇怪的是,在此状态下,EnableStatic第一次失败并显示代码94或81(无法配置DHCP服务),但第二次工作正常。即使拔掉电缆,使用netsh或WindowsGUI

c++ - EnumDisplayDevices vs WMI Win32_DesktopMonitor,如何检测事件监视器?

对于我当前的C++项目,我需要为在大量计算机上连接并处于事件状态的每个监视器检测一个唯一的字符串。研究指出了两种选择使用WMI并查询Win32_DesktopMonitor以获取所有事件监视器。使用PNPDeviceID来唯一标识监视器。使用EnumDisplayDevicesAPI,向下挖掘以获取设备ID。我对使用设备ID进行唯一型号标识很感兴趣,因为使用默认即插即用驱动程序的显示器将报告通用字符串作为显示器名称“默认即插即用显示器”我一直在使用WMI方法时遇到问题,它似乎只在我的Vista机器上返回1个显示器,查看doco结果表明它在非WDDM设备上无法按预期工作。EnumDisp

c# - 哪种方法更适合在 C# 中读取 Windows 事件日志? WMI 或事件日志

我需要编写一个应用程序来获取系统/应用程序的事件日志。另一个要求是我需要每分钟左右读取一次事件日志,以获取自上次读取以来的新事件日志。目前我正在考虑使用C#来实现而不是C++。我阅读了几个网页,如果我理解正确,我可以使用WMI或EventLog类来读取事件日志。在我看来,当使用EventLog类添加新事件日志时,我会收到通知,但我不确定这是否比使用WMI更好。如果我的理解是正确的,我想知道我应该采取哪种方式?请给我一些建议。谢谢。 最佳答案 我知道这是在原始帖子之后很久,但我希望这对像我这样发现EventLog类太慢的future搜

windows - 无法使用 WMI 在 Windows 2012 Server 上读取 BCDStore 信息

我们使用以下函数来获取当前启动配置指定的处理器数量。此编号仅用于记录日志。下面的函数在XP、Vista、7、2003和2008上运行良好。但是,它在Windows2012Server上运行失败。//-1=notimplementedornotallowed//0=notlimited//>0=numberofprocessorsinthe{current}bootentryfunctionInternal_GetBCDNumberOfProcessors:integer;varobjBcdStore:OleVariant;objElement:OleVariant;objWBL:Ole

windows - 如何使用 WMI 了解进程的 CPU 和内存使用情况?

我正在使用wmi和python来跟踪在我的机器上运行的进程的行为。fromwin32com.clientimportGetObjectwmi=GetObject('winmgmts:')processes=wmi.InstancesOf('Win32_Process')forprocessinprocesses:printprocess.ProcessId,process.NameWin32_Process有一个lotofinformation但我没有看到任何用于跟踪CPU消耗的信息。任务监视器窗口正在显示此信息,所以我认为可以获取它。我认为WorkingSetSize属性给出了进程的

windows - 如何使用 WMI 检索 Windows 计算机的 SID?

我不是在寻找用户SID。我正在寻找计算机SID,ActiveDirectory将使用它来唯一标识计算机。我也不想查询事件目录服务器,我想查询计算机本身。 最佳答案 (哦,这很有趣!正如他们所说,我进行了一次疯狂的追逐,试图获得Win32_SID实例,它是一个单例,并且不能通过通常的InstancesOf或Query方法枚举...yaddayadda雅达。)好吧,这取决于您想要哪个计算机SID(说真的!)。有本地计算机自己使用的SID...为此,您只需获取本地管理员用户的SID,并从末尾删除“-500”即可获取计算机的SID。在VBS

VB.NET/WIN32/WMI 监控打开网络连接的最佳方式

我正在开发自己的反恶意软件应用程序。我已经成功地实现了文件系统和进程监控,现在我正在寻找“某种防火墙功能”。我已经做了一些研究并找到了iphlpapi.dll,netstat-o解析。确切地说,当新的IP(TCP/UDP/其他)连接打开时,我想接收带有以下数据的事件。远程IP地址协议(protocol)(TCP/UDP/...)港口打开连接的进程ID我不想运行仍然检查netstat输出的计时器,因为它无效。当检测到与恶意IP的连接时,我需要快速暂停进程(我知道如何暂停进程)。 最佳答案 我怀疑除了编写驱动程序之外,唯一的方法就是Wi

c# - 如何使用 C# 读取 WMI 中的 ManagementObject 集合

我在网上找到了一个代码,并一直在尝试获取有关mo[]的更多信息。我正在尝试获取ManagementObjectCollection中包含的所有信息。由于mo中的参数正在寻找一个我不知道的字符串值,我如何在不知道其参数值的情况下获取所有值。或者,如果我想在ManagementObjectCollection中获取与mo相关的所有索引器值ManagementObjectSearcherobjOSDetails=newManagementObjectSearcher("SELECT*FROMWin32_OperatingSystem");ManagementObjectCollectiono