Hi,
For “Deleting Users And Groups Using WLST NonStop” please click here
Here is a simple example of WLST Script which allows us to create Users and Groups and Assign different Users to Different Groups. Doing the same thing from admin console is very time consuming. The following WLST Script is just an example for the same but it can be enhance more to delete Users and Groups as well in the same manner.
The best thing here is the Administrator need to just edit the properties file with the users and group details, rest of the things will be taken care by the WLST Script. Administrator need to just change the Iteration of “for” Loop in the WLST Script sccording to the number of WebLogic Users and WebLogic Groups.
Step1). Create a Directory somewhere in your file system like : “C:WLST_MultiDomain_DS”
Step2). Write a Properties file “details.properties” inside “C:WLST_MultiDomain_DS” like following:
domain.name=Domain_8001 admin.url=t3://localhost:8001 admin.userName=weblogic admin.password=weblogic security.realmName=myrealm total.groups=2 total.username=3 create.group.name.1=GroupOne create.group.name.2=GroupTwo create.group.description.1= This is a Test Gropu One create.group.description.2= This is a Test Gropu Two create.user.name.1=TestUserOne create.user.password.1=TestUserOnePassword create.user.description.1= This is a Test User One create.user.name.2=TestUserTwo create.user.password.2=TestUserTwoPassword create.user.description.2= This is a Test User Two create.user.name.3=TestUserThree create.user.password.3=TestUserThreePassword create.user.description.3= This is a Test User Three create.group.name.1.members=TestUserOne,TestUserTwo, create.group.name.2.members=TestUserThree,
NOTE: The “create.group.name.1.members” Entries must end with a COMMA (,)
Step3). Write the WLST Script “users_groups.py” inside “C:WLST_MultiDomain_DS” directory.
############################################################################# # # @author Copyright (c) 2010 - 2011 by Middleware Magic, All Rights Reserved. # ############################################################################# from java.io import FileInputStream propInputStream = FileInputStream("details.properties") configProps = Properties() configProps.load(propInputStream) domainName=configProps.get("domain.name") adminURL=configProps.get("admin.url") adminUserName=configProps.get("admin.userName") adminPassword=configProps.get("admin.password") realmName=configProps.get("security.realmName") totalGroups_to_Create=configProps.get("total.groups") totalUsers_to_Create=configProps.get("total.username") connect(adminUserName, adminPassword, adminURL) serverConfig() authenticatorPath= '/SecurityConfiguration/' + domainName + '/Realms/' + realmName + '/AuthenticationProviders/DefaultAuthenticator' print authenticatorPath cd(authenticatorPath) print ' ' print ' ' print 'Creating Groups . . .' i=1 while (i <= int(totalGroups_to_Create)) : groupName = configProps.get("create.group.name."+ str(i)) groupDescription = configProps.get("create.group.description."+ str(i)) try: cmo.createGroup(groupName , groupDescription) print '-----------Group Created With Name : ' , groupName except: print '*************** Check If The Group With the Name : ' , groupName ,' already Exists...' i = i + 1 print ' ' print ' ' print 'Creating Users . . .' x=1 while (x <= int(totalUsers_to_Create)): userName = configProps.get("create.user.name."+ str(x)) userPassword = configProps.get("create.user.password."+ str(x)) userDescription = configProps.get("create.user.description."+ str(x)) try: cmo.createUser(userName , userPassword , userDescription) print '-----------User Created With Name : ' , userName except: print '*************** Check If the User With the Name : ' , userName ,' already Exists...' x = x + 1 print ' ' print ' ' print 'Adding Group Membership of the Users:' for y in 1,2: grpName = configProps.get("create.group.name."+ str(y)) groupMembers= configProps.get("create.group.name."+ str(y) + ".members") usrName='' for member in groupMembers: if member == ",": cmo.addMemberToGroup(grpName,usrName) print 'USER:' , usrName , 'Added to GROUP: ' , grpName usrName='' else: usrName=usrName+member print ' ' print ' '
Step4). Run the “. ./setWLSEnv.sh” by adding two DOTs separated by a single space …..before the actual script like following : (use ‘cd’ command to move inside the <BEA_HOME>/wlserver_10.3/server/bin) then run the following command….
. ./setWLSEnv.sh
Note: the first DOT represents that set the Environment in the current Shell, AND the second ./ represents execute the script from the current directory.
Step5). Now run the WLS Script like following:
java weblogic.WLST users_groups.py
C:WLST_MultiDomain_DS>java weblogic.WLST users_groups.py Initializing WebLogic Scripting Tool (WLST) ... Welcome to WebLogic Server Administration Scripting Shell Type help() for help on available commands Connecting to t3://localhost:8001 with userid weblogic ... Successfully connected to Admin Server 'AdminServer' that belongs to domain 'Domain_8001'. Warning: An insecure protocol was used to connect to the server. To ensure on-the-wire security, the SSL port or Admin port should be used instead. Already in Config Runtime /SecurityConfiguration/Domain_8001/Realms/myrealm/AuthenticationProviders/DefaultAuthenticator Creating Groups . . . -----------Group Created With Name : GroupOne -----------Group Created With Name : GroupTwo Creating Users . . . -----------User Created With Name : TestUserOne -----------User Created With Name : TestUserTwo -----------User Created With Name : TestUserThree Adding Group Membership of the Users: USER: TestUserOne Added to GROUP: GroupOne USER: TestUserTwo Added to GROUP: GroupOne USER: TestUserThree Added to GROUP: GroupTwo
If the Groups or Users are already exists then the following output would be seen
java weblogic.WLST users_groups.py Initializing WebLogic Scripting Tool (WLST) ... Welcome to WebLogic Server Administration Scripting Shell Type help() for help on available commands Connecting to t3://localhost:8001 with userid weblogic ... Successfully connected to Admin Server 'AdminServer' that belongs to domain 'Domain_8001'. Warning: An insecure protocol was used to connect to the server. To ensure on-the-wire security, the SSL port or Admin port should be used instead. Already in Config Runtime /SecurityConfiguration/Domain_8001/Realms/myrealm/AuthenticationProviders/DefaultAuthenticator Creating Groups . . . *************** Check If The Group With the Name : GroupOne already Exists... *************** Check If The Group With the Name : GroupTwo already Exists... Creating Users . . . *************** Check If the User With the Name : TestUserOne already Exists... *************** Check If the User With the Name : TestUserTwo already Exists... *************** Check If the User With the Name : TestUserThree already Exists... Adding Group Membership of the Users: USER: TestUserOne Added to GROUP: GroupOne USER: TestUserTwo Added to GROUP: GroupOne USER: TestUserThree Added to GROUP: GroupTwo
.
.
Thanks
Jay SenSharma