Sha256: aed6ed1eaf2b3b1571288e6525179f33d67ae26c4be7faf43e1321ef0a259e78
Contents?: true
Size: 1.13 KB
Versions: 43
Compression:
Stored size: 1.13 KB
Contents
# A module to gather macaddress facts # module Facter::Util::Macaddress def self.standardize(macaddress) return nil unless macaddress macaddress.split(":").map{|x| "0#{x}"[-2..-1]}.join(":") end module Darwin def self.macaddress iface = default_interface Facter.warn "Could not find a default route. Using first non-loopback interface" if iface.empty? macaddress = `#{ifconfig_command} #{iface} | /usr/bin/awk '/ether/{print $2;exit}'`.chomp macaddress.empty? ? nil : macaddress end def self.default_interface `#{netstat_command} | /usr/bin/awk '/^default/{print $6;exit}'`.chomp end private def self.netstat_command '/usr/sbin/netstat -rn' end def self.ifconfig_command '/sbin/ifconfig' end end module Windows def macaddress require 'facter/util/wmi' query = "select MACAddress from Win32_NetworkAdapterConfiguration where IPEnabled = True" ether = nil Facter::Util::WMI.execquery(query).each do |nic| ether = nic.MacAddress break end ether end module_function :macaddress end end
Version data entries
43 entries across 43 versions & 3 rubygems