# File lib/facter/util/ip/windows.rb, line 62
  def self.value_for_interface_and_label(interface, label)
    wmi_value = WINDOWS_LABEL_WMI_MAP[label.downcase.to_sym]
    label_value = nil
    Facter::Util::WMI.execquery("SELECT Index FROM Win32_NetworkAdapter WHERE NetConnectionID = '#{interface}'").each do |nic|
      Facter::Util::WMI.execquery("SELECT #{wmi_value} FROM Win32_NetworkAdapterConfiguration WHERE Index = #{nic.Index}").each do |nic_config|
        case label.downcase.to_sym
        when :ipaddress
          nic_config.IPAddress.any? do |addr|
            label_value = addr if valid_ipv4_address?(addr)
            label_value
          end
        when :ipaddress6
          nic_config.IPAddress.any? do |addr|
            label_value = addr if Facter::Util::IP::Windows.valid_ipv6_address?(addr)
            label_value
          end
        when :netmask
          nic_config.IPSubnet.any? do |addr|
            label_value = addr if Facter::Util::IP::Windows.valid_ipv4_address?(addr)
            label_value
          end
        when :macaddress
          label_value = nic_config.MACAddress
        end
      end
    end

    label_value
  end