Python客户端工具,用于使用PyWBEM API与WBEM服务器一起工作。
pywbemtools的Python项目详细描述
Pywbemtools是与WBEM通信的命令行工具的集合 服务器。这些工具是用纯Python编写的,支持python2和Python 三。在
此时,pywbemtools包含一个名为 pywbemcli,它使用pywbem package on Pypi向 WBEM服务器使用DMTF定义的CIM/WBEM standards来执行 系统管理任务。在
CIM/WBEM标准用于各种系统管理任务 行业内包括DMTF管理标准和SNIA 存储管理计划规范(SMI-S)。在
Pywbemcli从命令行提供对WBEM服务器的访问。 它提供以下功能:
- 探索WBEM服务器的CIM数据。它可以管理/检查CIM模型 组件包括CIM类、CIM实例、CIM限定符和 在WBEM服务器上执行CIM方法和查询。在
- 在WBEM服务器上执行DMTF中定义的特定CIM-XML操作 标准DSP0200 (CIM Operations over HTTP)。在
- 检查和管理WBEM服务器功能,包括:
- CIM命名空间
- 公布的WBEM管理配置文件
- WBEM服务器品牌和版本信息
- 捕获有关CIM-XML与WBEM服务器交互的详细信息 包括时间统计和数据流细节。在
- 使用持久的WBEM连接定义维护一个文件,以便pywbemcli 可以按名称访问多个WBEM服务器。在
- 提供命令行模式和交互模式,其中 pywbemcli命令可以在WBEM服务器的上下文中执行。在
- 使用集成的模拟WBEM服务器来尝试命令。模拟服务器 可以使用MOF文件中定义的CIM对象或通过Python脚本加载。在
快速启动
pywbemcli中的所有命令都显示有关-help或-h选项的帮助:
$ pywbemcli --help . . . $ pywbemcli connection --help . . . $ pywbemcli connection save --help . . .
下面的示例相互建立并展示了一个典型的 WBEM服务器的探索。为了简单起见,它们都是针对 服务器的默认命名空间,并对使用持久连接定义 服务器:
为WBEM服务器添加名为conn1的持久连接定义到 ,以便后续命令可以引用它:
^{pr2}$ 在pywbemcli还支持内存中预加载的模拟WBEM服务器 在MOF文件中定义CIM对象。添加持久连接定义 使用中提供的MOF文件之一将assoc1命名为模拟服务器 回购:
$ pywbemcli -m tests/unit/simple_assoc_mock_model.mof connection save assoc1
在列出持久连接定义:
$ pywbemcli connection list WBEM server connections(brief): (#: default, *: current) name server mock-server ------ ----------------- -------------------------------------- assoc1 tests/unit/simple_assoc_mock_model.mof conn1 https://localhost
在列出具有完整信息的持久连接定义:
$ pywbemcli connection list --full WBEM server connections(full): (#: default, *: current) name server namespace user timeout use_pull verify certfile keyfile mock-server ------ ----------------- ----------- ------ --------- ---------- -------- ---------- --------- -------------------------------------- assoc1 root/cimv2 30 True tests/unit/simple_assoc_mock_model.mof conn1 https://localhost root/cimv2 user 30 True False
在使用前面添加的连接定义assoc1显示类树:
$ pywbemcli -n assoc1 class tree root +-- TST_FamilyCollection +-- TST_Lineage +-- TST_MemberOfFamilyCollection +-- TST_Person +-- TST_Personsub
在从该类树中检索单个类:
$ pywbemcli -n assoc1 class get TST_Person class TST_Person { [Key ( true ), Description ( "This is key prop" )] string name; string extraProperty = "defaultvalue"; };
在枚举该类的实例,只返回它们的实例名 使用--no选项:
$ pywbemcli -n assoc1 instance enumerate TST_Person --no root/cimv2:TST_Person.name="Gabi" root/cimv2:TST_Person.name="Mike" root/cimv2:TST_Person.name="Saara" root/cimv2:TST_Person.name="Sofi" root/cimv2:TST_PersonSub.name="Gabisub" root/cimv2:TST_PersonSub.name="Mikesub" root/cimv2:TST_PersonSub.name="Saarasub" root/cimv2:TST_PersonSub.name="Sofisub"
在使用以下实例名称之一检索单个实例:
$ pywbemcli -n assoc1 instance get 'root/cimv2:TST_Person.name="Sofi"' instance of TST_Person { name = "Sofi"; };
在还可以使用交互方式选择要检索的实例 通配符实例键(“CLASSNAME.”。?“):
$ pywbemcli -n assoc1 instance get TST_Person.? Pick Instance name to process 0: root/cimv2:TST_Person.name="Saara" 1: root/cimv2:TST_Person.name="Mike" 2: root/cimv2:TST_Person.name="Sofi" 3: root/cimv2:TST_Person.name="Gabi" 4: root/cimv2:TST_PersonSub.name="Gabisub" 5: root/cimv2:TST_PersonSub.name="Sofisub" 6: root/cimv2:TST_PersonSub.name="Mikesub" 7: root/cimv2:TST_PersonSub.name="Saarasub" Input integer between 0 and 7 or Ctrl-C to exit selection: 3 instance of TST_Person { name = "Gabi"; };
在支持多种输出格式。枚举实例可以用于 使用^{tt8}将示例格式化为属性表$ 常规选项(这些实例只有一个属性“name”):
$ pywbemcli -n assoc1 -o table instance enumerate TST_Person Instances: TST_Person +------------+ | name | |------------| | "Gabi" | | "Mike" | | "Saara" | | "Sofi" | | "Gabisub" | | "Mikesub" | | "Saarasub" | | "Sofisub" | +------------+
在从选定的特定实例开始遍历所有关联 互动:
$ pywbemcli -n assoc1 -o table instance associators TST_Person.? Pick Instance name to process 0: root/cimv2:TST_Person.name="Saara" 1: root/cimv2:TST_Person.name="Mike" 2: root/cimv2:TST_Person.name="Sofi" 3: root/cimv2:TST_Person.name="Gabi" 4: root/cimv2:TST_PersonSub.name="Gabisub" 5: root/cimv2:TST_PersonSub.name="Sofisub" 6: root/cimv2:TST_PersonSub.name="Mikesub" 7: root/cimv2:TST_PersonSub.name="Saarasub" Input integer between 0 and 7 or Ctrl-C to exit selection: 1 Instances: TST_FamilyCollection +-----------+ | name | |-----------| | "Family2" | | "Gabi" | | "Sofi" | +-----------+
在
针对WBEM服务器的其他操作包括获取有关名称空间的信息, 互操作命名空间、WBEM服务器品牌信息,或广告中的 管理概况:
显示服务器的互操作命名空间:
$ pywbemcli -n conn1 server interop Server Interop Namespace: Namespace Name ---------------- root/PG_InterOp
在列出播发的管理配置文件:
$ pywbemcli -n conn1 server profiles --organization DMTF Advertised management profiles: +----------------+----------------------+-----------+ | Organization | Registered Name | Version | |----------------+----------------------+-----------| | DMTF | CPU | 1.0.0 | | DMTF | Computer System | 1.0.0 | | DMTF | Ethernet Port | 1.0.0 | | DMTF | Fan | 1.0.0 | | DMTF | Indications | 1.1.0 | | DMTF | Profile Registration | 1.0.0 | +----------------+----------------------+-----------+
在
通过执行Pywbemcli,也可以在交互(REPL)模式下执行它 不输入命令或使用命令repl。在这种模式下 命令行提示符是pywbemcli>,WBEM服务器连接是 在命令之间进行维护,并且“常规”选项适用于所有命令 执行日期:
$ pywbemcli -n conn1 Enter 'help' for help, <CTRL-D> or ':q' to exit pywbemcli. pywbemcli> server brand Server Brand: WBEM Server Brand ------------------- OpenPegasus pywbemcli> server interop Server Interop Namespace: Namespace Name ---------------- root/PG_InterOp pywbemcli> :q
- 项目
标签: