zoukankan      html  css  js  c++  java
  • 通过wsadmin修改WebSphere控制台密码

    背景:目前项目需要在不重启的情况下定期修改WebSphere控制台密码。

    1.1 wsadmin使用简介

    WebSphere控制台版本:9.0.5.5

    wsadmin 支持两种脚本语言: jacl(Java Command Language , deprecated) & Jython 。

    要想得到 wsadmin 语法相关的帮助,进入实例的 bin 目录下可以输入 wsadmin.sh  -h,以下是帮助的详细内容:

    WASX7001I: wsadmin 是用于 WebSphere 脚本编制的可执行文件。

    语法:

      wsadmin

            [ -h(elp)  ]

            [ -?]

            [ -c <command> ]

            [ -p <properties_file_name>]

            [ -profile <profile_script_name>]

            [ -f <script_file_name>]

            [ -javaoption java_option]

            [ -lang  language]

            [ -wsadmin_classpath  classpath]

            [ -profileName profile]

            [ -conntype

                    SOAP

                            [-host host_name]

                            [-port port_number]

                            [-user userid]

                            [-password password] |

                    RMI

                            [-host host_name]

                            [-port port_number]

                            [-user userid]

                            [-password password] |

                    NONE

            ]

            [ -jobid <jobid_string>]

            [ -tracefile <trace_file>]

            [ -appendtrace <true/false>]

            [ script parameters ]

    其中     “ command ”是要传递给脚本处理程序的命令;

            “ properties_file_name ”是要使用的 java 属性文件;

            “ profile_script_name ”是在主命令或文件前要执行的脚本文件;

            “ script_file_name ”是要传递给脚本处理程序的命令;

            “ java_option ”是要传递给 Java 程序的 java 标准或非标准选项;

            “ language ”是要用于解释脚本的语言;受支持的值为“ jacl ”和“ jython ”。

            “ classpath ”是附加到内置路径中的类路径;

            “ -conntype ”指定要使用的连接类型;

                    缺省参数是“ SOAP ”

                    conntype 为“ NONE ”意味着没有建立服务器连接

                    且某些操作会以本地方式执行;

            “ host_name ”是用于 SOAP 或 RMI 连接的端口;

                    缺省值是本地主机;

             “ port_number ”是用于 SOAP 或 RMI 连接的端口;

            “ userid ”是服务器以安全方式运行时

                    所需的用户标识;

            “ password ”是服务器以安全方式运行时

                    所需的密码;

            “ script parameters ”是命令行上的任何其他内容。它们

                    在 argv 变量中传递给脚本;参数的数目

                    可在 argc 变量中获得。

            “ jobid_string ”是要用来审计 wsadmin 的每个调用的

                    作业标识字符串;

            “ trace_file ”是 wsadmin 跟踪输出定向至的

                    日志文件名和位置;

    如果未指定命令或脚本,将创建一个解释器 shell

    以供交互使用。要离开交互式脚本编制会话,

    使用“ quit ”或“ exit ”命令。

    可以在单个命令行上指定几个命令、属性文件和

    概要文件。它们是按照其指定的顺序处理和执行的。

    =============================================================

    1.2 Wsadmin 的调用有三种不同的方式:

    使用单行命令方式 (-c)

           wsadmin –c AdminControl.getNode()

    使用交互方式

           wsadmin

    运行脚本文件,使用 -f 参数

           wsadmin –f myScript.py

    使用 -profile 参数,表示要执行的一些预先执行的脚本。

    使用 -p 可以定义属性文件的位置。

    Wsadmin 管理的对象包括:

    AdminControl 用于操作控制。通过 MBean 来进行通讯,包含查询在在的运行中的对象和其属性,并在这些对象上调用操作。另外,支持关于连接服务的查询,客户端跟踪的方便命令,重新连接至服务器,启动和停止服务器。

    AdminConfig 管理存储在仓库中的配置信息。通过 WAS 的配置服务组件来查询和更改配置。可以使用它来查询存在的配置对象,创建配置对象,修改存在的对象和移除配置对象。在分布式的环境中,此命令仅仅能用于连接到 DM ,不能连接到 Node Agent 或管理某一 Application Server ,因为这些服务器的进程配置仅仅是保存在 DM 上的一个 Copy( 副本 ) 。

    AdminApp 能更新应用的元数据,映射虚拟主机到 Web 模块,映射已安装的模块至服务器。对一个应用程序进行更改,比如为应用程序指定一个共享库,设置会话管理的配置属性。

    AdminTask 用于访问面向任务的管理命令。这些命令用于访问配置命令和运行时对象管理命令。当脚本客户端运行时,可以自动发现管理命令。可用的管理命令以用于安装 WAS 的版本。

    Help :

           print Help.AdminControl()

    运行环境: AdminConfig , AdminTask , AdminApp 对象都是处理配置功能。可以在连接或不连接至服务器的环境下运行,但 AdminControl 需要连接到服务器才能运行,因为他是通过调用正在运行的 JMX MBean 来执行的。

    =============================================================

    1.3  修改密码脚本

    #!/bin/bash
    #wsadminPath:wsadmin.sh脚本路径
    #wasUser:was平台用户
    #wasPasswd:was平台用户旧口令
    #wasUPasswd:was平台用户新口令
    #uniqueName:was用户的唯一标识,可以在was平台页面查找
    wasUser='admin'
    wasPasswd='Test@1234'
    wasUPasswd='Test@5678'
    wsadminPath='/was/IBM/WebSphere/AppServer/bin'
    uniqueName='uid=admin,o=defaultWIMFileBasedRealm'
    
    if  [[ "$wasUser"  == ""  ]]
    then
        echo "参数:[wasUser]不能为空"
        exit -1
    fi
    
    if  [[ "$wasPasswd"  == ""  ]]
    then
        echo "参数:[wasPasswd]不能为空"
        exit -1
    fi
    
    if  [[ "$wasUPasswd"  == ""  ]]
    then
        echo "参数:[wasUPasswd]不能为空"
        exit -1
    fi
    
    if  [[ "$wsadminPath"   != ""  ]]
    then
        cd $wsadminPath
        cmd='$AdminTask updateUser {-uniqueName  '$uniqueName' -password '$wasUPasswd' -confirmPassword  '$wasUPasswd'}'
        echo "CMD:[${cmd}]"
        ./wsadmin.sh -user $wasUser   -password $wasPasswd <EOF
        ${cmd}
    exit
    EOF
    else
        echo "参数:[wsadminPath]不能为空"
        exit -1
    fi

    =============================================================

    参考链接:
    WebSphere Application Server之wsadmin学习(一)
    http://www.blogjava.net/fastzch/archive/2008/09/18/229797.html

    通过使用wsadmin脚本编制来运行AdminTask对象命令

    https://www.ibm.com/docs/zh/wash/8.5?topic=SSCKBL_8.5.5/com.ibm.websphere.nd.multiplatform.doc/ae/rxml_admintask.html

    =============================================================

  • 相关阅读:
    LeetCode 382. Linked List Random Node
    LeetCode 398. Random Pick Index
    LeetCode 1002. Find Common Characters
    LeetCode 498. Diagonal Traverse
    LeetCode 825. Friends Of Appropriate Ages
    LeetCode 824. Goat Latin
    LeetCode 896. Monotonic Array
    LeetCode 987. Vertical Order Traversal of a Binary Tree
    LeetCode 689. Maximum Sum of 3 Non-Overlapping Subarrays
    LeetCode 636. Exclusive Time of Functions
  • 原文地址:https://www.cnblogs.com/llwxhn/p/15521077.html
Copyright © 2011-2022 走看看