Enumerate pc's on a workgroup using WMI (c++)

2019-08-05 03:51发布

问题:

I'm trying to enumerate all the pc's in my workgroup lan (not a domain) using WMI.

I can't figure out which class to use or if there is any class that offers this functionality?

I've tried several classes but the one that seems that should do the work (Win32_NetworkClient) does not show what i expected to...

Is this possible using WMI, or only using LDAP with a domain?

Thanks

回答1:

Use Win32_ComputerSystem to enumerate possibles, filter using PartOfDomain and Workgroup fields.

You may need to set up a user account on each workgroup computer that has the required privileges. For complete info see here.

Windows Security – We need to setup the windows account we’re going to use similarly across all PCs we intend to remotely access. This account should be in the Administrator’s group.

Windows Firewall – We must be able to remotely connect to a PC running Windows Firewall with WMI and VB Script. This will be done by configuring a secure WMI connection in Windows.

Guest User – In a Windows XP workgroup, all remote connections coming from the “network” will be authenticated as a Guest User. A Guest User has very few rights so we must determine how to configure Windows to recognize the account used by the remote connection.