Discovery Mechanism

  1. DFM runs through the credentials defined for the WMI protocol and tries to connect successfully through one of them.

  2. DFM performs a WMI query for Win32_ComputerSystem to retrieve the machine name.

    WMI query:

    select Name from Win32_ComputerSystem

    DFM performs a WMI query for Win32_NetworkAdapterConfiguration to retrieve the following interface information: IP addresses, MAC address, subnet IPs, description, and DHCP enabled attribute. DFM ignores local IPs in the interfaces.

    WMI query:

    'SELECT DnsHostName,IPAddress,MACAddress,IPSubnet,Description,
    DhcpEnabled FROM Win32_NetworkAdapterConfiguration
    WHERE MACAddress <> NULL'
  3. DFM checks whether the destination IP address is a local IP address. If it is, DFM reports IPs and hosts only.

    If DFM cannot discover hosts by this manner, DFM tries to create a host defined by the lowest MAC address among the discovered network interfaces. If there is no interface to provide a valid MAC address, DFM defines the host by the destination IP address.

    MAC addresses are used only in such interfaces that comply with the following rules:

    • The interface has a valid MAC address.

    • The interface does not belong to one of the following types: loopback, wireless, virtual, WAN miniport, RAS ASYNC, Bluetooth, FireWire, VPN, or IPv6 tunneling.

    • The component is not the VMware interface, and the ignoreVmwareInterfaces option is not set to 1 in the globalSettings.xml configuration file.

  4. DFM queries Win32_OperatingSystem to retrieve the host vendor, OS name, version, boot time, and installation type.

    WMI query:

    select Caption,Version,
    ServicePackMajorVersion,ServicePackMinorVersion,
    BuildNumber,Organization,RegisteredUser,TotalVisibleMemorySize,
    LastBootUpTime,OtherTypeDescription from Win32_OperatingSystem
  5. DFM queries Win32_IP4RouteTable to retrieve the default gateway.

    WMI query:

    select NextHop, Metric1 from Win32_IP4RouteTable Where destination
    = '0.0.0.0' and mask = '0.0.0.0'
  6. DFM queries Win32_ComputerSystem to retrieve the host manufacturer, the number of processors, host model, and OS domain.

    WMI query:

    select Manufacturer,NumberOfProcessors,Model,Domain from
    Win32_ComputerSystem
  7. DFM retrieves the serial number by:

    • Querying Win32_BaseBoard.

      WMI query:

      SELECT SerialNumber FROM Win32_BaseBoard
    • Querying Win32_SystemEnclosure.

      WMI query:

      SELECT SerialNumber,SMBIOSAssetTag FROM Win32_SystemEnclosure
  8. DFM queries Win32_SystemEnclosure to retrieve the system asset tag.

    WMI query:

    SELECT SerialNumber,SMBIOSAssetTag FROM Win32_SystemEnclosure
  9. If the connection is successful, DFM clears all errors and warnings that may have been generated in previous connection attempts, and returns the results.

  10. If the connection is unsuccessful, DFM continues with the next WMI credential entry until all are tried.