ibm-midrange - IBM i (as400) CIM 和以太网接口(interface)

标签 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 表示“向上”,否则表示“向下”,但这并不可靠。

谢谢,

最佳答案

使用搜索词 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 中运行(调用 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;                                    
...

关于ibm-midrange - IBM i (as400) CIM 和以太网接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30940057/

相关文章:

使用 IFSFileInputStream 连接到 iSeries 时出现 java.netConnectException 错误

excel - 从多个连接构建可刷新查询 AS400 IBMi

c# - 如何通过没有 IP 地址的网卡发送 WOL 包(或任何东西)?

networking - `ether_header` 和 `ethhdr` 有什么区别?

java - 无法使用 Android 以太网管理器检索有线网络的 IP 和 MAC 地址

c# - ManagementScope 能否用于从 Windows 向 Linux/MacOS 客户端发送 wbem 查询? C#

winapi - 调试(跟踪)WMI 查询?

javascript - 检索通过 POST 方法表单传递的值

vb6 - 将 AS400 (IBM i) 配置文件 token 传递到 OLE DB 连接

wbem - 提供符合 SMI-S 的客户端 API 的 CIM/WBEM 包