racadm环境之服务器网卡mac获取(二)

依赖于前文环境:http://wuyanc.blog.51cto.com/11569260/1855947

对于pxe系统部署而言,网卡mac地址是必须的,而一台台手动去获取也太劳心劳累了,我们可以通过以下脚本批量获取你所需的mac,速度杠杠的,几秒钟的事。

#!/bin/bash
# chenss
# date : 2016-09-09
#
user=‘root‘
passwd=‘calvin‘

get_nic () {
case $2 in
1)racadm -r $1 -u $user -p $passwd  getsysinfo -s --nocertwarn | egrep ‘1-1-1‘ | awk -v ip="$1" ‘BEGIN{FS="="} {print ip"\t""EM1"$2};‘;;
2)racadm -r $1 -u $user -p $passwd  getsysinfo -s --nocertwarn | egrep ‘1-2-1|2-1-1‘ | awk -v ip="$1" ‘BEGIN{FS="="} {print ip"\t""EM2"$2};‘;;
3)racadm -r $1 -u $user -p $passwd  getsysinfo -s --nocertwarn | egrep ‘1-3-1|3-1-1‘ | awk -v ip="$1" ‘BEGIN{FS="="} {print ip"\t""EM3"$2};‘;;
4)racadm -r $1 -u $user -p $passwd  getsysinfo -s --nocertwarn | egrep ‘1-4-1|4-1-1‘ | awk -v ip="$1" ‘BEGIN{FS="="} {print ip"\t""EM4"$2};‘;;
*)racadm -r $1 -u $user -p $passwd  getsysinfo -s --nocertwarn | egrep ‘Ethernet‘ | awk -v ip="$1" ‘{print ip"\t",$0};‘;;
esac
}

get_nic $1 $2

执行结果:

[[email protected] idrac]# sh run.sh 
########## please option your choice: [1-10] ############
(1)  Get server NIC mac-address
(2)  Remove all or the virtual disk other than the system disk
(3)  Physical Disk mode convert
(4)  Create raid1 or raid5
(5)  Add idrac user (TEST) and change root passwd
(6)  Bios disable F1/F2 errot prompt and setup HDD first boot
(7)  check system boot seq
(8)  Restore the root default password
(9)  reboot system
(10) New server raid、bios init
(99) Execute the command manually
(*) exit script
########################################################
please option your choice: 1
192.168.1.1     EM1 24:6F:99:46:4D:78
192.168.1.2     EM1 24:6F:99:46:4D:79
192.168.1.3     EM1 24:6F:99:46:4D:80
192.168.1.4     EM1 24:6F:99:46:4D:81
192.168.1.5     EM1 24:6F:99:46:4D:82
192.168.1.6     EM1 24:6F:99:46:4D:83
192.168.1.7     EM1 24:6F:99:46:4D:84
192.168.1.8     EM1 24:6F:99:46:4D:85
192.168.1.9     EM1 24:6F:99:46:4D:86
192.168.1.10    EM1 24:6F:99:46:4D:87
used time : 3s
时间: 2024-08-09 22:01:45

racadm环境之服务器网卡mac获取(二)的相关文章

racadm环境之服务器BIOS设置(三)

此篇文章主要针对于DELL服务器racadm环境的BIOS配置,以F1/F2 Error提示和硬盘启动顺序更改为例.racadm基础用法可以参考前面文章. #!/bin/bash # Sly Chen # date : 2016-09-14 IDRAC_IP=$1 USER='root' PASSWD='calvin' # racadm通用语法定义成变量 COMMAND="racadm -r ${IDRAC_IP} -u $USER -p $PASSWD" # 获取控制器 CONTRO

浪潮服务器通过ipmitool获取mac地址

一.GPU服务器 #配置两个主板集成千兆四个外插PCI万兆网卡# 板载网卡可以使用命令获取到:RAW 0X30 0X21 就可以读取到第一块网卡的MAC,就是以下返回值的后6位. 0c,c4,7a,55,4d,6c. 0x30 0x9F => 黃色圈指出在第一个LAN后有多少LAN Mac, 红色框为第二个LAN mac 获取第一个主板集成千兆网卡 ipmitool -I lanplus -H 10.28.115.11 -U ADMIN -P ADMIN raw 0x30 0x21 获取其他其他

Shell 获取 Linux 服务器的 MAC(通用,不依赖网卡名称)

有时服务器厂商会制定自己的命名规则,如戴尔的一些服务器网卡名称可能是 em 开头的,如 em1,有时又是 eth 开头的,如 eth0,这让我们获得网卡的命令变得不那么通用,下面是我自己写的,不管是以什么开头的都可以: 列出所有的MAC: ifconfig -a | grep 'Ethernet' | awk '{print $5}' 只列出第一个MAC: ifconfig -a | grep 'Ethernet' | awk '{print $5}' | head -1

Python 获取 网卡 MAC 地址

/*********************************************************************** * Python 获取 网卡 MAC 地址 * 说明: * 记录一下Python如何获取网卡MAC地址,主要用于数据唯一性保存. * * 2016-10-14 深圳 南山平山村 曾剑锋 **********************************************************************/ 一.参考文档: pyth

java获取当前计算机网卡MAC地址

package com.yjm.testmac; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.net.UnknownHostException; import java.util.Enumeration; public class MacTest { public static void main(String[] args)

PHP获取服务器的mac地址类

PHP获取服务器的mac地址类,不是客户端的. 1 <?php 2 3 class GetMacAddr{ 4 5 var $return_array = array(); // 返回带有MAC地址的字串数组 6 var $mac_addr; 7 8 function GetMacAddr($os_type){ 9 switch ( strtolower($os_type) ){ 10 case "linux": 11 $this->forLinux(); 12 break

C++ 硬件信息 获取网卡MAC地址

获取计算机网卡MAC地址的方法很多,这里采用的是命令行的形式获取,可以获取有线网卡与无线网卡的MAC地址,很简单,直接 上代码. [1]头文件 #if !defined(AFX_95644697_C78F_4DD6_885B_3D7C40B2D55C__INCLUDED_) #define AFX_95644697_C78F_4DD6_885B_3D7C40B2D55C__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER

C# 获取网卡MAC的两种方式

获取网卡MAC第一种 不能判断当前使用的是那张网卡 1 /// <summary> 2 /// 获取网卡ID代码 3 /// </summary> 4 /// <returns></returns> 5 public static string GetNetworkAdpaterID() 6 { 7 NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces(); 8 return n

获取网卡MAC、硬盘序列号、CPU_ID、BIOS编号

抄来的 获取网卡MAC.硬盘序列号.CPU ID.BIOS编号 本文中所有原理及思想均取自网络,有修改.其中获取硬盘序列号.获取CPU编号.获取BIOS编号的原始代码的著作权归各自作者所有. 以下代码可以取得系统特征码(网卡MAC.硬盘序列号.CPU ID.BIOS编号) BYTE szSystemInfo[4096]; // 在程序执行完毕后,此处存储取得的系统特征码 UINT uSystemInfoLen = 0; // 在程序执行完毕后,此处存储取得的系统特征码的长度 // 网卡 MAC