WLST Pythonスクリプトはシェルスクリプトの変数を受け入れることができません。

WLST Pythonスクリプトはシェルスクリプトの変数を受け入れることができません。

ユーザーが特定のグループに属していることを確認するためにWLSTスクリプトを作成しました。シェルスクリプトはユーザーとグループ名の入力を読み取り、それをPythonスクリプトに送信します。以下はPythonスクリプトです。

d_user=sys.argv[1]
print 'User is ' +d_user
d_group=sys.argv[2]
print 'Group is ' +d_group

connect(userConfigFile='WebLogicConfig.properties',userKeyFile='WebLogicKey.properties',url='t3://wl-test.com:80')

realmName=cmo.getSecurityConfiguration().getDefaultRealm()
authProvider = realmName.getAuthenticationProviders()

from weblogic.management.security.authentication import GroupEditorMBean
print "Checking if 'd_user' is a member of the group 'd_group' ... "
atnr=cmo.getSecurityConfiguration().getDefaultRealm().lookupAuthenticationProvider("DefaultAuthenticator")
if atnr.isMember('d_group','d_user',true) == 0:
  print "+d_user is not member of +d_group"
else:
  print "+d_user is a member of +d_group"

出力は次のとおりです。

./UserGroupCheck.sh
Enter the user name you want to check : weblogic
Enter the group name you want to check for weblogic : Administrators
CLASSPATH=...
PATH=...

Your environment has been set.

Initializing WebLogic Scripting Tool (WLST) ...

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

User is weblogic
Group is Administrators
Connecting to t3://wl-test.com:80 with userid weblogic ...
Successfully connected to Admin Server..
...
Checking if 'd_user' is a member of the group 'd_group' ...
Problem invoking WLST - Traceback (innermost last):
  File "UserGroupCheck.py", line 20, in ?
weblogic.management.utils.NotFoundException: [Security:090259]Group d_group can not be found.
        at weblogic.utils.StackTraceDisabled.unknownMethod()
weblogic.management.utils.NotFoundException: weblogic.management.utils.NotFoundException: [Security:090259]Group d_group can not be found.

文句を言わないグループが見つかりません。 Pythonスクリプトはd_user最初に&の変数を受け入れることができましたが、d_groupWeblogicドメインに接続すると、d_user&で指定された値が認識されず、d_group代わりに変数名を実際の入力として使用しました。

Checking if 'd_user' is a member of the group 'd_group'

d_user& を実際のユーザーとグループに置き換えると、スクリプトは正常に機能します。d_group

私は何を見落としているのかわかりません。

ベストアンサー1

引用符

atnr.isMember('d_group','d_user',true)

問題は次のとおりです。

atnr.isMember(d_group,d_user,true)

おすすめ記事