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脚本加载。在

文件

关于Pypi上发布的最新版本的pywbemtools:

快速启动

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java是安卓的子类。所容纳之物ClipData或ClipData。项目   毕加索中的java错误get()无法应用于(安卓.content.Context)   管道接受来自控制台和管道文本文件的Java输入   Java Windows文件权限   java如何在Selenium中找到此按钮?我尝试了partiallinktext并多次尝试cssSelector   java如何在spring jdbc模板中生成流式sql?   方法中的java全局值变为null   java设备“Mobile Intel(R)4 Series Express芯片组系列”(\\.\DISPLAY1)初始化失败:   java查找单独文件夹中的资源到类文件   java iCal4j添加会议说明   java如何处理InvalidTokenException?   oop如果Java不支持运算符重载,增量运算符如何在整数实例上工作?   java如何在Hibernate中获取<map>