IBM i(as400)CIM和以太网接口

时间:2015-06-19 13:59:15

标签: ibm-midrange ethernet wbem

我正在尝试使用wbemcli命令检查远程IBM i(as400)计算机上的以太网卡状态:

wbemcli -nl ei ".../root/cimv2:IBMOS400_EthernetPort"

大量的字段似乎描述了卡片的状态,其中大多数是空的:

(...)
-OperationalStatus=2
-StatusDescriptions="THE LINE IS IN USE."
-Status=
-HealthState=
-CommunicationStatus=
-DetailedStatus=
-OperatingStatus=
-PrimaryStatus=
-EnabledState=2
-OtherEnabledState=
-RequestedState=5
-EnabledDefault=6
-TimeOfLastStateChange=
-AvailableRequestedStates=
-TransitioningToState=12
(...)
-Availability=3
-StatusInfo=
(...)

唯一的非空字段只包含整数,我真的不知道该怎么做。谁有线索?我正在编写一个脚本,假设OperationalStatus = 2表示“UP”,否则表示“DOWN”,但这是不可靠的。

谢谢,

1 个答案:

答案 0 :(得分:1)

使用搜索词AS400可能毫无结果;多年来,操作系统一直被称为IBM i,这就是当前文档所在的位置。无论如何,IBM i的服务器运行的版本是什么?如果它真的很旧,你可能还没有很好的CIM支持。以下是7.1的手册:(从知识中心开始)IBM i 7.1 > Systems management > Common Information Model > Reference information for CIM > Hardware inventory and network management providers > IBM_EthernetPort不幸的是,IBM的CIM实现与CIM的架构有关。这是Schema 2.40 CIM-Device的链接,显示了OperationalStatus,但只是将其定义为uint16 []

可能还有其他问题 - IBM i的新版本可以虚拟化,您可能无法通过CIM查看物理硬件。我不知道这是事实;这是你需要研究的东西。

编辑:如何使用PASE进行测试: 事实证明,IBM i 7.1(带有适当的PTF)和7.2(我的版本)都有可用的CIM命令行命令,所以我花了一些时间尝试了一些。它们在PASE(call qp2term)中运行:

cimcli ni IBM_EthernetPort
IBM_EthernetPort.CreationClassName="IBM_EthernetPort",DeviceID="ETHLINE",SystemCreationClassName="IBMOS400_ComputerSystem",SystemName="my.system.com"
IBM_EthernetPort.CreationClassName="IBM_EthernetPort",DeviceID="ETHLINEPUB",SystemCreationClassName="IBMOS400_ComputerSystem",SystemName="my.system.com"
IBM_EthernetPort.CreationClassName="IBM_EthernetPort",DeviceID="ETHLINEPVT",SystemCreationClassName="IBMOS400_ComputerSystem",SystemName="my.system.com"

cimcli ei IBM_EthernetPort                          
path= IBM_EthernetPort.CreationClassName="IBM_EthernetPort",DeviceID="ETHLINE",SystemCreationClassName="IBMOS400_ComputerSystem",SystemName="my.system.com"

//Instance of IBM_EthernetPort
instance of IBM_EthernetPort  
{                             
InstanceID = NULL;            
Caption = "Ethernet port ETHLINE";                     
Description = "Ethernet port information for ETHLINE.";
ElementName = "ETHLINE";                               
InstallDate = NULL;                                    
Name = "ETHLINE";                                      
OperationalStatus = {2};                               
StatusDescriptions = {"The line is in use."};          
Status = NULL;                                         
HealthState = NULL;                                    
CommunicationStatus = NULL;                            
DetailedStatus = NULL;                                 
OperatingStatus = NULL;                                
PrimaryStatus = NULL;                                  
EnabledState = 2;                                      
OtherEnabledState = NULL;                              
RequestedState = 5;                                    
EnabledDefault = 6;                                    
...