• 通过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

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

  • 相关阅读:
    Mybatis和Hibernate
    SpringMVC运行原理
    HTML中class属性里有多个属性值
    json对象(增加数据)
    Ajax请求
    <url-pattern>里的/和/*
    mysql忘记密码
    Eclipse无法正常连接mysql8.0.20
    a+1和&a+1
    可重入函数与不可重入函数
  • 原文地址:https://www.cnblogs.com/llwxhn/p/15521077.html
Copyright © 2020-2023  润新知