SlideShare a Scribd company logo
1 of 31
Download to read offline
München
>> Save My Time Using Scripts
Social Connections V - Zürich
Christoph Stöttner
IBM Software Consultant
1
June 2013
>>
3
1. Administration of IBM Connections
• ISC – Integrated Solution Console
• wsadmin
2. WebSphere Application Server
• Jython
• wsadmin properties
• Useful scripts
3. DB2 – Backup
• Automatic Maintenance
• Useful Selects
4. Little bit more
• Get Root CA
Agenda
>>
4
Who am I?
Christoph Stöttner
IBM Software Consultant
• mailto:cstoettner@fum.de
• IBM Connections since 2.5
• Former Domino / Windows / Linux Admin
• My Blog: http://www.stoeps.de
• Twitter: @stoeps
• more on: http://about.me/stoeps
5
1. IBM Connections Administration
>> IBM Connections Administration
>>
• Browserbased GUI for IBM WebSphere Application Server
• My Opinion: Creator of ISC wants to sell computer mice
• My Mouse pointer runs miles during a
Connections Installation
– 99% on Postinstall Tasks within ISC
• Some tasks are boring
– Performance Tuning of DataSources
– Setting Roles on Applications
1. IBM Connections Administration
Integrated Solution Console
6
Picture: Ben Williams http://www.flickr.com/photos/bodhack/
>>
• Edit LotusConnections-config.xml
wsadmin, CheckIn, CheckOut – Edit XML
7
1. IBM Connections Administration
cd /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin
[root@cnxwas1 bin]# ./wsadmin.sh -lang jython -username wasadmin -password password
WASX7209I: Connected to process "dmgr" on node cnxwas1CellManager01 using SOAP
connector; The type of process is: DeploymentManager
WASX7031I: For help, enter: "print Help.help()"
wsadmin>AdminControl.getCell()
'cnxwas1Cell01'
wsadmin>execfile("connectionsConfig.py")
Connections Administration initialized
wsadmin>LCConfigService.checkOutConfig('/tmp','cnxwas1Cell01')
Connections configuration file successfully checked out
wsadmin>># Edit /tmp/LotusConnections-config.xml
wsadmin>>LCConfigService.checkInConfig('/tmp','cnxwas1Cell01')
Loading schema file for validation: /tmp/LotusConnections-config.xsd
Loading schema file for validation: /tmp/service-location.xsd
/tmp/LotusConnections-config.xml is valid
Connections configuration file successfully checked in
>> Synchronize ExID with LDAP
8
1. IBM Connections Administration
wsadmin>execfile("newsAdmin.py")
Connecting to NewsMemberServiceName: News Configuration Environment
initialized
wsadmin>NewsMemberService.syncMemberExtIdByEmail("cstoettner@stoeps.local")
syncMemberExtIdByEmail request processed
wsadmin>execfile("blogsAdmin.py")
Connecting to
WebSphere:name=BlogsAdmin,type=LotusConnections,cell=cnxwas1Cell01,node=cnxwa
s1Node01,process=Cluster2_server1
Blogs Administration initialized
wsadmin>BlogsMemberService.syncMemberExtIdByEmail("cstoettner@stoeps.local")
WASX7015E: Exception running command:
"BlogsMemberService.syncMemberExtIdByEmail("cstoettner@stoeps.local")";
exception information:
There is no member associated with this email address or login name:
cstoettner@stoeps.local
wsadmin>BlogsMemberService.syncMemberExtIdByEmail("CStoettner@stoeps.local")
syncMemberExtIdByEmail request processed
>>
• Sometimes Complicated (convert Variables to Objects and Vectors)
• long commands
• Case sensitive
– jython commands
– Sometimes parameters too!
• Linux: no history to recall commands
Summary wsadmin
9
1. IBM Connections Administration
10
2. IBM WebSphere Application Server Scripting
>> IBM WebSphere Application Server Scripting
>>
• ./wsadmin.sh –lang jython | jacl –username wasadmin –password password
• Default Language JACL
– Change defaultLang in:
<WAS_HOME>/profiles/Dmgr01/properties/wsadmin.properties
– com.ibm.ws.scripting.defaultLang=jython
• You can store credentials in
<WAS_HOME>/profiles/Dmgr01/properties/soap.client.props
– Decreases Security see next slide!
– com.ibm.SOAP.securityEnabled=true
com.ibm.SOAP.loginUserid=wasadmin
com.ibm.SOAP.loginPassword=password
– PropFilePasswordEncoder.sh soap.client.props com.ibm.SOAP.loginPassword
-> com.ibm.SOAP.loginPassword={xor}Lz4sLCgwLTs=
2. IBM WebSphere Application Server Scripting
wsadmin Properties
11
>>
• Please do NOT store passwords in productive Environments!
• Passwords are simple XORed with "_" and base64 encoded
• Several Webpages
– eg. http://www.sysman.nl/wasdecoder/)
• cd WAS_HOME
java/jre/bin/java 
-Djava.ext.dirs=deploytool/itp/plugins/com.ibm.websphere.v8_1.0.201.v20111031_1843/wasJars
-cp securityimpl.jar:iwsorb.jar com.ibm.ws.security.util.PasswordDecoder
"{xor}Lz4sLCgwLTs="
encoded password == "{xor}Lz4sLCgwLTs=", decoded password == "password"
2. IBM WebSphere Application Server Scripting
WebSphere Passwords Decoding
12
>>
• Loading Connections Administration commands is very unhandy
– execfile("connectionsConfig.py")
– execfile("blogsAdmin.py")
• Create a script with all commands for preloading
– execfile("loadAll.py")
– Add your script to com.ibm.ws.scripting.profiles in:
<WAS_HOME>/profiles/Dmgr01/properties/wsadmin.properties
2. IBM WebSphere Application Server Scripting
wsadmin Properties (2)
13
#Filename: loadAll.py
execfile("activitiesAdmin.py")
execfile("blogsAdmin.py")
execfile("communitiesAdmin.py")
execfile("dogearAdmin.py")
execfile("filesAdmin.py")
execfile("forumsAdmin.py")
execfile("homepageAdmin.py")
execfile("newsAdmin.py")
execfile("profilesAdmin.py")
execfile("wikisAdmin.py")
>>
• Easy to learn but and powerful
• Python for the Java Platform
– http://www.jython.org/jythonbook/en/1.0/
– http://www.jython.org/docs/index.html
• Books:
– WebSphere Application Server Administration Using Jython (2009)
Authors: Robert A. Gibson, Arthur Kevin McGrath and Noel J. Bergman
– The Definitive Guide to Jython: Python for the Java Platform (2010)
Authors: Josh Juneau, Frank Wierzbicki, Leo Soto and Victor Ng
• Learn Python:
– Great online courses on http://www.codecademy.com/ (Python, API, JavaScript)
– http://learnpythonthehardway.org/book/
2. IBM WebSphere Application Server Scripting
Jython
14
>>
• Script: changeDataSource.py
• Default Parameters of the script are set as mentioned in:
http://download.boulder.ibm.com/ibmdl/pub/software/dw/lotus/connections400/reference/IBM_Co
nnections_4.0_Performance_Tuning_Guide_V1.0.pdf
2. IBM WebSphere Application Server Scripting
Configure Performance Parameter of DataSources (1)
15
#Define a dictionary with database names and parameters
perf{'activities':{'minConnections':1,'maxConnections':50},
'blogs':{'minConnections':1,'maxConnections':250},
'communities':{'minConnections':10,'maxConnections':200},
'news':{'minConnections':50,'maxConnections':75},
'profiles':{'minConnections':1,'maxConnections':100},
'search':{'minConnections':50,'maxConnections':75},
'wikis':{'minConnections':1,'maxConnections':100}}
statementCacheSize = 100 #change to 50 for oracle
>>
• Looping through Dictionary
2. IBM WebSphere Application Server Scripting
Configure Performance Parameter to DataSource (2)
16
for db in perf.keys(): # Looping through databases, first values in dictionary
print 'Change DataSource parameters for: %s' % db.upper()
t1=AdminConfig.getid('/DataSource:' + db + '/')
print ' statementCacheSize: ' + str(statementCacheSize)
print ' minConnections: ' + str(perf[db]['minConnections'])
print ' maxConnections: ' + str(perf[db]['maxConnections'])
AdminConfig.modify(t1,'[[statementCacheSize "' + str(statementCacheSize) + '"]]')
AdminConfig.modify(t1,'[[connectionPool [[minConnections "' + str(perf[db]['minConnections']) +
'"][maxConnections "' + str(perf[db]['maxConnections']) + '"]]]]')
AdminConfig.save()
>>
• Script: memberSyncByEmail.py
• Script reads MAILADDRESS as Parameter
• Call the script:
./wsadmin.sh –lang jython –f "<path>/memberSyncByEmail.py" "cstoettner@stoeps.local"
2. IBM WebSphere Application Server Scripting
Useful Scripts: Trigger MemberService on all Applications
17
MAILADDRESS = sys.argv[0]
print "Syncing MemberService for " + MAILADDRESS
execfile("/opt/install/scripts/memberService.py") #like loadAll.py
ActivitiesMemberService.syncMemberExtIdByEmail(MAILADDRESS)
BlogsMemberService.syncMemberExtIdByEmail(MAILADDRESS)
CommunitiesMemberService.syncMemberExtIdByEmail(MAILADDRESS)
DogearMemberService.syncMemberExtIdByEmail(MAILADDRESS)
FilesMemberService.syncMemberExtIdByEmail(MAILADDRESS)
ForumsMemberService.syncMemberExtIdByEmail(MAILADDRESS)
NewsMemberService.syncMemberExtIdByEmail(MAILADDRESS)
WikisMemberService.syncMemberExtIdByEmail(MAILADDRESS)
>>
• Check Database Connection through wsadmin
• script: checkDataSource.py
• Output:
• ./wsadmin.sh –lang jython –f checkDataSource.py
• within wsadmin: execfile("checkDataSource.py")
2. IBM WebSphere Application Server Scripting
Troubleshooting Database Connection
18
dbs =
['activities','blogs','communities','dogear','files','forum','homepage','metrics','mobile','news','o
auth provider','profiles','search','wikis'] #List of all databases to check
for db in dbs: #loop through databases
ds = AdminConfig.getid('/DataSource:' + db + '/')
print "Check database %s" % db,
print AdminControl.testConnection(ds)
Check database: activities WASX7217I: Connection to provided datasource was successful.
Check database: blogs WASX7217I: Connection to provided datasource was successful.
Check database: communities WASX7217I: Connection to provided datasource was successful.
[...]
>>
• Script:
• Script creates a textfile with security role informations of each application
• Call the script:
./wsadmin.sh –lang jython –f "<path>/j2eerolebackup.py"
• To Do: In the moment NO RESTORE of security roles from this Backup Script
2. IBM WebSphere Application Server Scripting
Useful Scripts: Backup Security Roles
19
apps = AdminApp.list()
appsList = apps.split(lineSeparator) #List of all applications
path = '/opt/install/backup' # must exist!
for app in appsList:
filename = app + ".txt"
my_file = open(path + '/' + filename,'w')
my_file.write (AdminApp.view(app,"-MapRolesToUsers"))
my_file.flush
my_file.close()
>>
2. IBM WebSphere Application Server Scripting
Useful Scripts: Backup Security Roles - Output
20
MapRolesToUsers: Mapping users to roles
[...]
Role: everyone
Everyone?: Yes
All authenticated?: No
Mapped users:
Mapped groups:
All authenticated in trusted realms?: No
Mapped users access ids:
Mapped groups access ids:
Role: search-admin
Everyone?: No
All authenticated?: No
Mapped users: aconnections
Mapped groups:
All authenticated in trusted realms?: No
Mapped users access ids:
Mapped groups access ids:
>>
• Set Default Security Roles and Restrict Roles to some Administrators:
– http://kbild.ch/2013/05/add-admin-users-to-ibm-connections-security-roles-update-for-4-5/
2. IBM WebSphere Application Server Scripting
Useful scripts on the web
21
connwasadmin='wasadmin'
connadmin='Admin1|Admin2'
connmoderators='Moderator1|Moderator2'
connmetrics='Metrics1|Metrics2'
connmobile='Mobile1|Mobile2'
appName='Activities'
AdminApp.edit(appName, '[-MapRolesToUsers [["person" No Yes "" ""] ["everyone" Yes No ""
""] ["reader" Yes No "" ""] ["metrics-reader" No Yes "" ""] ["search-admin" No No
"'+connwasadmin+'|'+connadmin+'" ""] ["widget-admin" No No "'+connwasadmin+'|'+connadmin+'"
""] ["admin" No No "'+connwasadmin+'|'+connadmin+'" ""] ["bss-provisioning-admin" No No ""
""] ]]')
print "Setting Roles and Users for Activities"
AdminConfig.save()
22
3. IBM DB2 Scripting
>> IBM DB2 Scripting
>>
• Get a list of all databases of an instance
– Linux:
db2 list database directory | grep alias | awk '{print $4}' | sort
– Windows Powershell:
db2 list database directory | where {$_ -match "alias"}| %{
$_.Split('=')[2]; }
• Show active databases:
– db2 list active databases
Useful commands
23
3. IBM DB2 Scripting
>>
• http://www.stoeps.de/skripting-db2-automatic-maintenance/
– DB2 9.7 with Export of PolicyFile and reimport to other databases
• IBM Data Studio
– Configure Automatic maintenance and Backup on one database (eg homepage)
– Save commands to sql script
– Now split the commands
Automatic maintenance (1)
24
3. IBM DB2 Scripting
>>
• automaint.sql
– copy the update line and the 4 CALL statements
– or download my automaint.sql and change the backup path (GitHub)
• setmaintenance.sh
Automatic maintenance (2)
25
3. IBM DB2 Scripting
#!/bin/bash
databases=$(db2 list database directory | grep alias | awk '{print $4}' | sort)
for database in ${databases[@]}
do
echo $database
db2 "connect to $database"
db2 -tvf automaint.sql
db2 "connect reset"
done
>>
• checkExID.sh
• Search any user by Email and get their ExID in each IBM Connections Application
• Live Demo
3. IBM DB2 Scripting
Select EXID through applications
26
4. Some more
Some more
27
>>
• When you use LDAPS in TDI (or populationWizard) you need to trust the root certificate
• Prerequist: openssl, java (keytool)
• ./create_cacerts.sh -h hostname -p port -f path/filename
– example: ./create_cacerts.sh -h mail.stoeps.local -p 636 -f /opt/install/keystore
– You have to provide a keystore password (twice)
– You will be asked, if you trust the certificate!
• TDIPopulation/solution.properties:
javax.net.ssl.trustStore=/opt/install/keystore
4. Some More
Get Root Certificate (e.g. selfsigned)
28
5. Ressources
Ressources
29
>>
• You can download all scripts (and some more) WITHOUT WARRENTY and on your own risk:
https://github.com/stoeps13/ibmcnxscripting
• Future:
– create Powershell or Windows Batches
– scripts for basic troubleshooting
– add more error handling
– more documentation
Ressources
Download the shown scripts
30
Questions?
31

More Related Content

What's hot

Provisioning in Microsoft Azure
Provisioning in Microsoft AzureProvisioning in Microsoft Azure
Provisioning in Microsoft Azureilagin
 
Enough with the JavaScript already!
Enough with the JavaScript already!Enough with the JavaScript already!
Enough with the JavaScript already!Nicholas Zakas
 
Game server development in node.js in jsconf eu
Game server development in node.js in jsconf euGame server development in node.js in jsconf eu
Game server development in node.js in jsconf euXie ChengChao
 
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dep...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dep...Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dep...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dep...Uniface
 
Game server development in node.js
Game server development in node.jsGame server development in node.js
Game server development in node.jsXie ChengChao
 
Gaming across multiple devices
Gaming across multiple devicesGaming across multiple devices
Gaming across multiple devicesPatric Boscolo
 

What's hot (7)

Provisioning in Microsoft Azure
Provisioning in Microsoft AzureProvisioning in Microsoft Azure
Provisioning in Microsoft Azure
 
Nodejs.meetup
Nodejs.meetupNodejs.meetup
Nodejs.meetup
 
Enough with the JavaScript already!
Enough with the JavaScript already!Enough with the JavaScript already!
Enough with the JavaScript already!
 
Game server development in node.js in jsconf eu
Game server development in node.js in jsconf euGame server development in node.js in jsconf eu
Game server development in node.js in jsconf eu
 
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dep...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dep...Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dep...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dep...
 
Game server development in node.js
Game server development in node.jsGame server development in node.js
Game server development in node.js
 
Gaming across multiple devices
Gaming across multiple devicesGaming across multiple devices
Gaming across multiple devices
 

Viewers also liked

CNC Machining - Post in Model airplane news
CNC Machining - Post in Model airplane newsCNC Machining - Post in Model airplane news
CNC Machining - Post in Model airplane newsYvonne Zhou
 
Howrse creative stepst
Howrse creative stepstHowrse creative stepst
Howrse creative stepstOwlient
 
Too Fast Too Furious Need for Speed (High-Frequency Trading) Antidote
Too Fast Too Furious Need for Speed (High-Frequency Trading) AntidoteToo Fast Too Furious Need for Speed (High-Frequency Trading) Antidote
Too Fast Too Furious Need for Speed (High-Frequency Trading) AntidoteTommi /. Vuorenmaa
 
Rfg Startwitha Good Daily Plan
Rfg Startwitha Good Daily PlanRfg Startwitha Good Daily Plan
Rfg Startwitha Good Daily Plankip123
 
172 pdfsam unlock-buchauszug
172 pdfsam unlock-buchauszug172 pdfsam unlock-buchauszug
172 pdfsam unlock-buchauszugdavetsbass
 
Arizona Legal Forms
Arizona Legal FormsArizona Legal Forms
Arizona Legal Formslegalwebsite
 
Reflexiones de un programa de rehabilitación
Reflexiones de un programa de rehabilitaciónReflexiones de un programa de rehabilitación
Reflexiones de un programa de rehabilitaciónWael Hikal
 
Atracciones Turisticas de Riobamba
Atracciones Turisticas de RiobambaAtracciones Turisticas de Riobamba
Atracciones Turisticas de Riobambadaltamiranoa7
 
Fundamento de poo en php
Fundamento de poo en phpFundamento de poo en php
Fundamento de poo en phpRobert Moreira
 
Hadis dan sunnah (atherah bt azman)
Hadis dan sunnah (atherah bt azman)Hadis dan sunnah (atherah bt azman)
Hadis dan sunnah (atherah bt azman)Dania Azmy
 

Viewers also liked (19)

Volt
VoltVolt
Volt
 
CNC Machining - Post in Model airplane news
CNC Machining - Post in Model airplane newsCNC Machining - Post in Model airplane news
CNC Machining - Post in Model airplane news
 
Los colores incitan a filosofar
Los colores incitan a filosofarLos colores incitan a filosofar
Los colores incitan a filosofar
 
Kampanje it fag
Kampanje it fagKampanje it fag
Kampanje it fag
 
+Q9meses Digital nº26 Ecochinijos
+Q9meses Digital nº26 Ecochinijos+Q9meses Digital nº26 Ecochinijos
+Q9meses Digital nº26 Ecochinijos
 
Howrse creative stepst
Howrse creative stepstHowrse creative stepst
Howrse creative stepst
 
Too Fast Too Furious Need for Speed (High-Frequency Trading) Antidote
Too Fast Too Furious Need for Speed (High-Frequency Trading) AntidoteToo Fast Too Furious Need for Speed (High-Frequency Trading) Antidote
Too Fast Too Furious Need for Speed (High-Frequency Trading) Antidote
 
Rfg Startwitha Good Daily Plan
Rfg Startwitha Good Daily PlanRfg Startwitha Good Daily Plan
Rfg Startwitha Good Daily Plan
 
172 pdfsam unlock-buchauszug
172 pdfsam unlock-buchauszug172 pdfsam unlock-buchauszug
172 pdfsam unlock-buchauszug
 
Lidera 5 Completo
Lidera 5 CompletoLidera 5 Completo
Lidera 5 Completo
 
Arizona Legal Forms
Arizona Legal FormsArizona Legal Forms
Arizona Legal Forms
 
Reflexiones de un programa de rehabilitación
Reflexiones de un programa de rehabilitaciónReflexiones de un programa de rehabilitación
Reflexiones de un programa de rehabilitación
 
MODAL verbs
MODAL verbsMODAL verbs
MODAL verbs
 
Atracciones Turisticas de Riobamba
Atracciones Turisticas de RiobambaAtracciones Turisticas de Riobamba
Atracciones Turisticas de Riobamba
 
Fundamento de poo en php
Fundamento de poo en phpFundamento de poo en php
Fundamento de poo en php
 
Short Scrum Presentation for Teams
Short Scrum Presentation for TeamsShort Scrum Presentation for Teams
Short Scrum Presentation for Teams
 
Hadis dan sunnah (atherah bt azman)
Hadis dan sunnah (atherah bt azman)Hadis dan sunnah (atherah bt azman)
Hadis dan sunnah (atherah bt azman)
 
La electrokinesis i
La electrokinesis iLa electrokinesis i
La electrokinesis i
 
Libro de buen amor
Libro de buen amorLibro de buen amor
Libro de buen amor
 

Similar to Christoph Stoettner - Save my time using scripts

Wsadminlib.wasug.2011 0125-0726
Wsadminlib.wasug.2011 0125-0726Wsadminlib.wasug.2011 0125-0726
Wsadminlib.wasug.2011 0125-0726Rohit Kelapure
 
SQL Server Exploitation, Escalation, Pilfering - AppSec USA 2012
SQL Server Exploitation, Escalation, Pilfering - AppSec USA 2012SQL Server Exploitation, Escalation, Pilfering - AppSec USA 2012
SQL Server Exploitation, Escalation, Pilfering - AppSec USA 2012Scott Sutherland
 
Practical solutions for connections administrators lite
Practical solutions for connections administrators litePractical solutions for connections administrators lite
Practical solutions for connections administrators liteSharon James
 
Automating That "Other" OS
Automating That "Other" OSAutomating That "Other" OS
Automating That "Other" OSJulian Dunn
 
AdminCamp 2018 - Virtuell - schneller und besser! Notes V10 auf Citrix & VMWare
AdminCamp 2018 - Virtuell - schneller und besser! Notes V10 auf Citrix & VMWareAdminCamp 2018 - Virtuell - schneller und besser! Notes V10 auf Citrix & VMWare
AdminCamp 2018 - Virtuell - schneller und besser! Notes V10 auf Citrix & VMWareChristoph Adler
 
Asynchronous Processing with Ruby on Rails (RailsConf 2008)
Asynchronous Processing with Ruby on Rails (RailsConf 2008)Asynchronous Processing with Ruby on Rails (RailsConf 2008)
Asynchronous Processing with Ruby on Rails (RailsConf 2008)Jonathan Dahl
 
Virtual, Faster, Better! How to Virtualize IBM Notes V10
Virtual, Faster, Better! How to Virtualize IBM Notes V10Virtual, Faster, Better! How to Virtualize IBM Notes V10
Virtual, Faster, Better! How to Virtualize IBM Notes V10panagenda
 
IconUS 2016 conference - Connections Administration Skills
IconUS 2016 conference - Connections Administration SkillsIconUS 2016 conference - Connections Administration Skills
IconUS 2016 conference - Connections Administration SkillsVictor Toal
 
Sa106 – practical solutions for connections administrators
Sa106 – practical solutions for connections administratorsSa106 – practical solutions for connections administrators
Sa106 – practical solutions for connections administratorsSharon James
 
AAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
AAI-3218 Production Deployment Best Practices for WebSphere Liberty ProfileAAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
AAI-3218 Production Deployment Best Practices for WebSphere Liberty ProfileWASdev Community
 
Building cloud stack at scale
Building cloud stack at scaleBuilding cloud stack at scale
Building cloud stack at scaleShapeBlue
 
Practical solutions for connections administrators
Practical solutions for connections administratorsPractical solutions for connections administrators
Practical solutions for connections administratorsSharon James
 
Deployment ibm connections - No Http Server required
Deployment ibm connections - No Http Server requiredDeployment ibm connections - No Http Server required
Deployment ibm connections - No Http Server requiredSarwar Javaid
 
Bp307 Practical Solutions for Connections Administrators, tips and scrips for...
Bp307 Practical Solutions for Connections Administrators, tips and scrips for...Bp307 Practical Solutions for Connections Administrators, tips and scrips for...
Bp307 Practical Solutions for Connections Administrators, tips and scrips for...Sharon James
 
The Silence of the Installers
The Silence of the InstallersThe Silence of the Installers
The Silence of the InstallersKlaus Bild
 
Salesforce Admin's guide : the data loader from the command line
Salesforce Admin's guide : the data loader from the command lineSalesforce Admin's guide : the data loader from the command line
Salesforce Admin's guide : the data loader from the command lineCyrille Coeurjoly
 
Adm02. IBM Connections Adminblast
Adm02. IBM Connections AdminblastAdm02. IBM Connections Adminblast
Adm02. IBM Connections Adminblastpanagenda
 
Building WebLogic Domains With WLST
Building WebLogic Domains With WLSTBuilding WebLogic Domains With WLST
Building WebLogic Domains With WLSTC2B2 Consulting
 

Similar to Christoph Stoettner - Save my time using scripts (20)

Wsadminlib.wasug.2011 0125-0726
Wsadminlib.wasug.2011 0125-0726Wsadminlib.wasug.2011 0125-0726
Wsadminlib.wasug.2011 0125-0726
 
SQL Server Exploitation, Escalation, Pilfering - AppSec USA 2012
SQL Server Exploitation, Escalation, Pilfering - AppSec USA 2012SQL Server Exploitation, Escalation, Pilfering - AppSec USA 2012
SQL Server Exploitation, Escalation, Pilfering - AppSec USA 2012
 
Practical solutions for connections administrators lite
Practical solutions for connections administrators litePractical solutions for connections administrators lite
Practical solutions for connections administrators lite
 
Automating That "Other" OS
Automating That "Other" OSAutomating That "Other" OS
Automating That "Other" OS
 
AdminCamp 2018 - Virtuell - schneller und besser! Notes V10 auf Citrix & VMWare
AdminCamp 2018 - Virtuell - schneller und besser! Notes V10 auf Citrix & VMWareAdminCamp 2018 - Virtuell - schneller und besser! Notes V10 auf Citrix & VMWare
AdminCamp 2018 - Virtuell - schneller und besser! Notes V10 auf Citrix & VMWare
 
Asynchronous Processing with Ruby on Rails (RailsConf 2008)
Asynchronous Processing with Ruby on Rails (RailsConf 2008)Asynchronous Processing with Ruby on Rails (RailsConf 2008)
Asynchronous Processing with Ruby on Rails (RailsConf 2008)
 
Virtual, Faster, Better! How to Virtualize IBM Notes V10
Virtual, Faster, Better! How to Virtualize IBM Notes V10Virtual, Faster, Better! How to Virtualize IBM Notes V10
Virtual, Faster, Better! How to Virtualize IBM Notes V10
 
IconUS 2016 conference - Connections Administration Skills
IconUS 2016 conference - Connections Administration SkillsIconUS 2016 conference - Connections Administration Skills
IconUS 2016 conference - Connections Administration Skills
 
Sa106 – practical solutions for connections administrators
Sa106 – practical solutions for connections administratorsSa106 – practical solutions for connections administrators
Sa106 – practical solutions for connections administrators
 
AAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
AAI-3218 Production Deployment Best Practices for WebSphere Liberty ProfileAAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
AAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
 
Fluent 2012 v2
Fluent 2012   v2Fluent 2012   v2
Fluent 2012 v2
 
AD102 - Break out of the Box
AD102 - Break out of the BoxAD102 - Break out of the Box
AD102 - Break out of the Box
 
Building cloud stack at scale
Building cloud stack at scaleBuilding cloud stack at scale
Building cloud stack at scale
 
Practical solutions for connections administrators
Practical solutions for connections administratorsPractical solutions for connections administrators
Practical solutions for connections administrators
 
Deployment ibm connections - No Http Server required
Deployment ibm connections - No Http Server requiredDeployment ibm connections - No Http Server required
Deployment ibm connections - No Http Server required
 
Bp307 Practical Solutions for Connections Administrators, tips and scrips for...
Bp307 Practical Solutions for Connections Administrators, tips and scrips for...Bp307 Practical Solutions for Connections Administrators, tips and scrips for...
Bp307 Practical Solutions for Connections Administrators, tips and scrips for...
 
The Silence of the Installers
The Silence of the InstallersThe Silence of the Installers
The Silence of the Installers
 
Salesforce Admin's guide : the data loader from the command line
Salesforce Admin's guide : the data loader from the command lineSalesforce Admin's guide : the data loader from the command line
Salesforce Admin's guide : the data loader from the command line
 
Adm02. IBM Connections Adminblast
Adm02. IBM Connections AdminblastAdm02. IBM Connections Adminblast
Adm02. IBM Connections Adminblast
 
Building WebLogic Domains With WLST
Building WebLogic Domains With WLSTBuilding WebLogic Domains With WLST
Building WebLogic Domains With WLST
 

More from LetsConnect

Installing Component Pack 6.0.0.6
Installing Component Pack 6.0.0.6Installing Component Pack 6.0.0.6
Installing Component Pack 6.0.0.6LetsConnect
 
Oh $h@# - How to deal with emotional outbursts and hate in social situations
Oh $h@# - How to deal with emotional outbursts and hate in social situationsOh $h@# - How to deal with emotional outbursts and hate in social situations
Oh $h@# - How to deal with emotional outbursts and hate in social situationsLetsConnect
 
It is not About Connections vs Office 365 - You can have the best of the both...
It is not About Connections vs Office 365 - You can have the best of the both...It is not About Connections vs Office 365 - You can have the best of the both...
It is not About Connections vs Office 365 - You can have the best of the both...LetsConnect
 
Using ibm connections to enhance university courses
Using ibm connections to enhance university coursesUsing ibm connections to enhance university courses
Using ibm connections to enhance university coursesLetsConnect
 
IBM Connections 6 Component Pack
IBM Connections 6 Component PackIBM Connections 6 Component Pack
IBM Connections 6 Component PackLetsConnect
 
IBM Connections 6.0 CR3 New Features
IBM Connections 6.0 CR3 New FeaturesIBM Connections 6.0 CR3 New Features
IBM Connections 6.0 CR3 New FeaturesLetsConnect
 
10 years of IBM Connections
10 years of IBM Connections10 years of IBM Connections
10 years of IBM ConnectionsLetsConnect
 
IBM Collaboration Framework in action: Customer success stories
IBM Collaboration Framework in action: Customer success storiesIBM Collaboration Framework in action: Customer success stories
IBM Collaboration Framework in action: Customer success storiesLetsConnect
 
Design for the Digital Workspace
Design for the Digital WorkspaceDesign for the Digital Workspace
Design for the Digital WorkspaceLetsConnect
 
New Ways to Deliver Business Outcomes with INtelligent Workstream Collaboration
New Ways to Deliver Business Outcomes with INtelligent Workstream CollaborationNew Ways to Deliver Business Outcomes with INtelligent Workstream Collaboration
New Ways to Deliver Business Outcomes with INtelligent Workstream CollaborationLetsConnect
 
Power up your Salesforce Opportunities by using IBM Watson Workspace as your ...
Power up your Salesforce Opportunities by using IBM Watson Workspace as your ...Power up your Salesforce Opportunities by using IBM Watson Workspace as your ...
Power up your Salesforce Opportunities by using IBM Watson Workspace as your ...LetsConnect
 
There is nothing more practical than a good theory
There is nothing more practical than a good theoryThere is nothing more practical than a good theory
There is nothing more practical than a good theoryLetsConnect
 
Kubernetes Basics for Connections Admins
Kubernetes Basics for Connections AdminsKubernetes Basics for Connections Admins
Kubernetes Basics for Connections AdminsLetsConnect
 
Intelligent Collaboration driving Digital Transformation
Intelligent Collaboration driving Digital TransformationIntelligent Collaboration driving Digital Transformation
Intelligent Collaboration driving Digital TransformationLetsConnect
 
Developing IBM Connections Community Apps using Domino
Developing IBM Connections Community Apps using DominoDeveloping IBM Connections Community Apps using Domino
Developing IBM Connections Community Apps using DominoLetsConnect
 
IBM Connections - Have it YOUR Way!
IBM Connections - Have it YOUR Way!IBM Connections - Have it YOUR Way!
IBM Connections - Have it YOUR Way!LetsConnect
 
You Get What You Give
You Get What You GiveYou Get What You Give
You Get What You GiveLetsConnect
 
Building Custom ibm Watson Workspace Templates to make you and your team more...
Building Custom ibm Watson Workspace Templates to make you and your team more...Building Custom ibm Watson Workspace Templates to make you and your team more...
Building Custom ibm Watson Workspace Templates to make you and your team more...LetsConnect
 
ICS INtegration with Node-RED and Open Source
ICS INtegration with Node-RED and Open SourceICS INtegration with Node-RED and Open Source
ICS INtegration with Node-RED and Open SourceLetsConnect
 
Communities as the fundament of social learning
Communities as the fundament of social learningCommunities as the fundament of social learning
Communities as the fundament of social learningLetsConnect
 

More from LetsConnect (20)

Installing Component Pack 6.0.0.6
Installing Component Pack 6.0.0.6Installing Component Pack 6.0.0.6
Installing Component Pack 6.0.0.6
 
Oh $h@# - How to deal with emotional outbursts and hate in social situations
Oh $h@# - How to deal with emotional outbursts and hate in social situationsOh $h@# - How to deal with emotional outbursts and hate in social situations
Oh $h@# - How to deal with emotional outbursts and hate in social situations
 
It is not About Connections vs Office 365 - You can have the best of the both...
It is not About Connections vs Office 365 - You can have the best of the both...It is not About Connections vs Office 365 - You can have the best of the both...
It is not About Connections vs Office 365 - You can have the best of the both...
 
Using ibm connections to enhance university courses
Using ibm connections to enhance university coursesUsing ibm connections to enhance university courses
Using ibm connections to enhance university courses
 
IBM Connections 6 Component Pack
IBM Connections 6 Component PackIBM Connections 6 Component Pack
IBM Connections 6 Component Pack
 
IBM Connections 6.0 CR3 New Features
IBM Connections 6.0 CR3 New FeaturesIBM Connections 6.0 CR3 New Features
IBM Connections 6.0 CR3 New Features
 
10 years of IBM Connections
10 years of IBM Connections10 years of IBM Connections
10 years of IBM Connections
 
IBM Collaboration Framework in action: Customer success stories
IBM Collaboration Framework in action: Customer success storiesIBM Collaboration Framework in action: Customer success stories
IBM Collaboration Framework in action: Customer success stories
 
Design for the Digital Workspace
Design for the Digital WorkspaceDesign for the Digital Workspace
Design for the Digital Workspace
 
New Ways to Deliver Business Outcomes with INtelligent Workstream Collaboration
New Ways to Deliver Business Outcomes with INtelligent Workstream CollaborationNew Ways to Deliver Business Outcomes with INtelligent Workstream Collaboration
New Ways to Deliver Business Outcomes with INtelligent Workstream Collaboration
 
Power up your Salesforce Opportunities by using IBM Watson Workspace as your ...
Power up your Salesforce Opportunities by using IBM Watson Workspace as your ...Power up your Salesforce Opportunities by using IBM Watson Workspace as your ...
Power up your Salesforce Opportunities by using IBM Watson Workspace as your ...
 
There is nothing more practical than a good theory
There is nothing more practical than a good theoryThere is nothing more practical than a good theory
There is nothing more practical than a good theory
 
Kubernetes Basics for Connections Admins
Kubernetes Basics for Connections AdminsKubernetes Basics for Connections Admins
Kubernetes Basics for Connections Admins
 
Intelligent Collaboration driving Digital Transformation
Intelligent Collaboration driving Digital TransformationIntelligent Collaboration driving Digital Transformation
Intelligent Collaboration driving Digital Transformation
 
Developing IBM Connections Community Apps using Domino
Developing IBM Connections Community Apps using DominoDeveloping IBM Connections Community Apps using Domino
Developing IBM Connections Community Apps using Domino
 
IBM Connections - Have it YOUR Way!
IBM Connections - Have it YOUR Way!IBM Connections - Have it YOUR Way!
IBM Connections - Have it YOUR Way!
 
You Get What You Give
You Get What You GiveYou Get What You Give
You Get What You Give
 
Building Custom ibm Watson Workspace Templates to make you and your team more...
Building Custom ibm Watson Workspace Templates to make you and your team more...Building Custom ibm Watson Workspace Templates to make you and your team more...
Building Custom ibm Watson Workspace Templates to make you and your team more...
 
ICS INtegration with Node-RED and Open Source
ICS INtegration with Node-RED and Open SourceICS INtegration with Node-RED and Open Source
ICS INtegration with Node-RED and Open Source
 
Communities as the fundament of social learning
Communities as the fundament of social learningCommunities as the fundament of social learning
Communities as the fundament of social learning
 

Recently uploaded

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 

Recently uploaded (20)

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 

Christoph Stoettner - Save my time using scripts

  • 1. München >> Save My Time Using Scripts Social Connections V - Zürich Christoph Stöttner IBM Software Consultant 1
  • 3. >> 3 1. Administration of IBM Connections • ISC – Integrated Solution Console • wsadmin 2. WebSphere Application Server • Jython • wsadmin properties • Useful scripts 3. DB2 – Backup • Automatic Maintenance • Useful Selects 4. Little bit more • Get Root CA Agenda
  • 4. >> 4 Who am I? Christoph Stöttner IBM Software Consultant • mailto:cstoettner@fum.de • IBM Connections since 2.5 • Former Domino / Windows / Linux Admin • My Blog: http://www.stoeps.de • Twitter: @stoeps • more on: http://about.me/stoeps
  • 5. 5 1. IBM Connections Administration >> IBM Connections Administration
  • 6. >> • Browserbased GUI for IBM WebSphere Application Server • My Opinion: Creator of ISC wants to sell computer mice • My Mouse pointer runs miles during a Connections Installation – 99% on Postinstall Tasks within ISC • Some tasks are boring – Performance Tuning of DataSources – Setting Roles on Applications 1. IBM Connections Administration Integrated Solution Console 6 Picture: Ben Williams http://www.flickr.com/photos/bodhack/
  • 7. >> • Edit LotusConnections-config.xml wsadmin, CheckIn, CheckOut – Edit XML 7 1. IBM Connections Administration cd /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin [root@cnxwas1 bin]# ./wsadmin.sh -lang jython -username wasadmin -password password WASX7209I: Connected to process "dmgr" on node cnxwas1CellManager01 using SOAP connector; The type of process is: DeploymentManager WASX7031I: For help, enter: "print Help.help()" wsadmin>AdminControl.getCell() 'cnxwas1Cell01' wsadmin>execfile("connectionsConfig.py") Connections Administration initialized wsadmin>LCConfigService.checkOutConfig('/tmp','cnxwas1Cell01') Connections configuration file successfully checked out wsadmin>># Edit /tmp/LotusConnections-config.xml wsadmin>>LCConfigService.checkInConfig('/tmp','cnxwas1Cell01') Loading schema file for validation: /tmp/LotusConnections-config.xsd Loading schema file for validation: /tmp/service-location.xsd /tmp/LotusConnections-config.xml is valid Connections configuration file successfully checked in
  • 8. >> Synchronize ExID with LDAP 8 1. IBM Connections Administration wsadmin>execfile("newsAdmin.py") Connecting to NewsMemberServiceName: News Configuration Environment initialized wsadmin>NewsMemberService.syncMemberExtIdByEmail("cstoettner@stoeps.local") syncMemberExtIdByEmail request processed wsadmin>execfile("blogsAdmin.py") Connecting to WebSphere:name=BlogsAdmin,type=LotusConnections,cell=cnxwas1Cell01,node=cnxwa s1Node01,process=Cluster2_server1 Blogs Administration initialized wsadmin>BlogsMemberService.syncMemberExtIdByEmail("cstoettner@stoeps.local") WASX7015E: Exception running command: "BlogsMemberService.syncMemberExtIdByEmail("cstoettner@stoeps.local")"; exception information: There is no member associated with this email address or login name: cstoettner@stoeps.local wsadmin>BlogsMemberService.syncMemberExtIdByEmail("CStoettner@stoeps.local") syncMemberExtIdByEmail request processed
  • 9. >> • Sometimes Complicated (convert Variables to Objects and Vectors) • long commands • Case sensitive – jython commands – Sometimes parameters too! • Linux: no history to recall commands Summary wsadmin 9 1. IBM Connections Administration
  • 10. 10 2. IBM WebSphere Application Server Scripting >> IBM WebSphere Application Server Scripting
  • 11. >> • ./wsadmin.sh –lang jython | jacl –username wasadmin –password password • Default Language JACL – Change defaultLang in: <WAS_HOME>/profiles/Dmgr01/properties/wsadmin.properties – com.ibm.ws.scripting.defaultLang=jython • You can store credentials in <WAS_HOME>/profiles/Dmgr01/properties/soap.client.props – Decreases Security see next slide! – com.ibm.SOAP.securityEnabled=true com.ibm.SOAP.loginUserid=wasadmin com.ibm.SOAP.loginPassword=password – PropFilePasswordEncoder.sh soap.client.props com.ibm.SOAP.loginPassword -> com.ibm.SOAP.loginPassword={xor}Lz4sLCgwLTs= 2. IBM WebSphere Application Server Scripting wsadmin Properties 11
  • 12. >> • Please do NOT store passwords in productive Environments! • Passwords are simple XORed with "_" and base64 encoded • Several Webpages – eg. http://www.sysman.nl/wasdecoder/) • cd WAS_HOME java/jre/bin/java -Djava.ext.dirs=deploytool/itp/plugins/com.ibm.websphere.v8_1.0.201.v20111031_1843/wasJars -cp securityimpl.jar:iwsorb.jar com.ibm.ws.security.util.PasswordDecoder "{xor}Lz4sLCgwLTs=" encoded password == "{xor}Lz4sLCgwLTs=", decoded password == "password" 2. IBM WebSphere Application Server Scripting WebSphere Passwords Decoding 12
  • 13. >> • Loading Connections Administration commands is very unhandy – execfile("connectionsConfig.py") – execfile("blogsAdmin.py") • Create a script with all commands for preloading – execfile("loadAll.py") – Add your script to com.ibm.ws.scripting.profiles in: <WAS_HOME>/profiles/Dmgr01/properties/wsadmin.properties 2. IBM WebSphere Application Server Scripting wsadmin Properties (2) 13 #Filename: loadAll.py execfile("activitiesAdmin.py") execfile("blogsAdmin.py") execfile("communitiesAdmin.py") execfile("dogearAdmin.py") execfile("filesAdmin.py") execfile("forumsAdmin.py") execfile("homepageAdmin.py") execfile("newsAdmin.py") execfile("profilesAdmin.py") execfile("wikisAdmin.py")
  • 14. >> • Easy to learn but and powerful • Python for the Java Platform – http://www.jython.org/jythonbook/en/1.0/ – http://www.jython.org/docs/index.html • Books: – WebSphere Application Server Administration Using Jython (2009) Authors: Robert A. Gibson, Arthur Kevin McGrath and Noel J. Bergman – The Definitive Guide to Jython: Python for the Java Platform (2010) Authors: Josh Juneau, Frank Wierzbicki, Leo Soto and Victor Ng • Learn Python: – Great online courses on http://www.codecademy.com/ (Python, API, JavaScript) – http://learnpythonthehardway.org/book/ 2. IBM WebSphere Application Server Scripting Jython 14
  • 15. >> • Script: changeDataSource.py • Default Parameters of the script are set as mentioned in: http://download.boulder.ibm.com/ibmdl/pub/software/dw/lotus/connections400/reference/IBM_Co nnections_4.0_Performance_Tuning_Guide_V1.0.pdf 2. IBM WebSphere Application Server Scripting Configure Performance Parameter of DataSources (1) 15 #Define a dictionary with database names and parameters perf{'activities':{'minConnections':1,'maxConnections':50}, 'blogs':{'minConnections':1,'maxConnections':250}, 'communities':{'minConnections':10,'maxConnections':200}, 'news':{'minConnections':50,'maxConnections':75}, 'profiles':{'minConnections':1,'maxConnections':100}, 'search':{'minConnections':50,'maxConnections':75}, 'wikis':{'minConnections':1,'maxConnections':100}} statementCacheSize = 100 #change to 50 for oracle
  • 16. >> • Looping through Dictionary 2. IBM WebSphere Application Server Scripting Configure Performance Parameter to DataSource (2) 16 for db in perf.keys(): # Looping through databases, first values in dictionary print 'Change DataSource parameters for: %s' % db.upper() t1=AdminConfig.getid('/DataSource:' + db + '/') print ' statementCacheSize: ' + str(statementCacheSize) print ' minConnections: ' + str(perf[db]['minConnections']) print ' maxConnections: ' + str(perf[db]['maxConnections']) AdminConfig.modify(t1,'[[statementCacheSize "' + str(statementCacheSize) + '"]]') AdminConfig.modify(t1,'[[connectionPool [[minConnections "' + str(perf[db]['minConnections']) + '"][maxConnections "' + str(perf[db]['maxConnections']) + '"]]]]') AdminConfig.save()
  • 17. >> • Script: memberSyncByEmail.py • Script reads MAILADDRESS as Parameter • Call the script: ./wsadmin.sh –lang jython –f "<path>/memberSyncByEmail.py" "cstoettner@stoeps.local" 2. IBM WebSphere Application Server Scripting Useful Scripts: Trigger MemberService on all Applications 17 MAILADDRESS = sys.argv[0] print "Syncing MemberService for " + MAILADDRESS execfile("/opt/install/scripts/memberService.py") #like loadAll.py ActivitiesMemberService.syncMemberExtIdByEmail(MAILADDRESS) BlogsMemberService.syncMemberExtIdByEmail(MAILADDRESS) CommunitiesMemberService.syncMemberExtIdByEmail(MAILADDRESS) DogearMemberService.syncMemberExtIdByEmail(MAILADDRESS) FilesMemberService.syncMemberExtIdByEmail(MAILADDRESS) ForumsMemberService.syncMemberExtIdByEmail(MAILADDRESS) NewsMemberService.syncMemberExtIdByEmail(MAILADDRESS) WikisMemberService.syncMemberExtIdByEmail(MAILADDRESS)
  • 18. >> • Check Database Connection through wsadmin • script: checkDataSource.py • Output: • ./wsadmin.sh –lang jython –f checkDataSource.py • within wsadmin: execfile("checkDataSource.py") 2. IBM WebSphere Application Server Scripting Troubleshooting Database Connection 18 dbs = ['activities','blogs','communities','dogear','files','forum','homepage','metrics','mobile','news','o auth provider','profiles','search','wikis'] #List of all databases to check for db in dbs: #loop through databases ds = AdminConfig.getid('/DataSource:' + db + '/') print "Check database %s" % db, print AdminControl.testConnection(ds) Check database: activities WASX7217I: Connection to provided datasource was successful. Check database: blogs WASX7217I: Connection to provided datasource was successful. Check database: communities WASX7217I: Connection to provided datasource was successful. [...]
  • 19. >> • Script: • Script creates a textfile with security role informations of each application • Call the script: ./wsadmin.sh –lang jython –f "<path>/j2eerolebackup.py" • To Do: In the moment NO RESTORE of security roles from this Backup Script 2. IBM WebSphere Application Server Scripting Useful Scripts: Backup Security Roles 19 apps = AdminApp.list() appsList = apps.split(lineSeparator) #List of all applications path = '/opt/install/backup' # must exist! for app in appsList: filename = app + ".txt" my_file = open(path + '/' + filename,'w') my_file.write (AdminApp.view(app,"-MapRolesToUsers")) my_file.flush my_file.close()
  • 20. >> 2. IBM WebSphere Application Server Scripting Useful Scripts: Backup Security Roles - Output 20 MapRolesToUsers: Mapping users to roles [...] Role: everyone Everyone?: Yes All authenticated?: No Mapped users: Mapped groups: All authenticated in trusted realms?: No Mapped users access ids: Mapped groups access ids: Role: search-admin Everyone?: No All authenticated?: No Mapped users: aconnections Mapped groups: All authenticated in trusted realms?: No Mapped users access ids: Mapped groups access ids:
  • 21. >> • Set Default Security Roles and Restrict Roles to some Administrators: – http://kbild.ch/2013/05/add-admin-users-to-ibm-connections-security-roles-update-for-4-5/ 2. IBM WebSphere Application Server Scripting Useful scripts on the web 21 connwasadmin='wasadmin' connadmin='Admin1|Admin2' connmoderators='Moderator1|Moderator2' connmetrics='Metrics1|Metrics2' connmobile='Mobile1|Mobile2' appName='Activities' AdminApp.edit(appName, '[-MapRolesToUsers [["person" No Yes "" ""] ["everyone" Yes No "" ""] ["reader" Yes No "" ""] ["metrics-reader" No Yes "" ""] ["search-admin" No No "'+connwasadmin+'|'+connadmin+'" ""] ["widget-admin" No No "'+connwasadmin+'|'+connadmin+'" ""] ["admin" No No "'+connwasadmin+'|'+connadmin+'" ""] ["bss-provisioning-admin" No No "" ""] ]]') print "Setting Roles and Users for Activities" AdminConfig.save()
  • 22. 22 3. IBM DB2 Scripting >> IBM DB2 Scripting
  • 23. >> • Get a list of all databases of an instance – Linux: db2 list database directory | grep alias | awk '{print $4}' | sort – Windows Powershell: db2 list database directory | where {$_ -match "alias"}| %{ $_.Split('=')[2]; } • Show active databases: – db2 list active databases Useful commands 23 3. IBM DB2 Scripting
  • 24. >> • http://www.stoeps.de/skripting-db2-automatic-maintenance/ – DB2 9.7 with Export of PolicyFile and reimport to other databases • IBM Data Studio – Configure Automatic maintenance and Backup on one database (eg homepage) – Save commands to sql script – Now split the commands Automatic maintenance (1) 24 3. IBM DB2 Scripting
  • 25. >> • automaint.sql – copy the update line and the 4 CALL statements – or download my automaint.sql and change the backup path (GitHub) • setmaintenance.sh Automatic maintenance (2) 25 3. IBM DB2 Scripting #!/bin/bash databases=$(db2 list database directory | grep alias | awk '{print $4}' | sort) for database in ${databases[@]} do echo $database db2 "connect to $database" db2 -tvf automaint.sql db2 "connect reset" done
  • 26. >> • checkExID.sh • Search any user by Email and get their ExID in each IBM Connections Application • Live Demo 3. IBM DB2 Scripting Select EXID through applications 26
  • 27. 4. Some more Some more 27
  • 28. >> • When you use LDAPS in TDI (or populationWizard) you need to trust the root certificate • Prerequist: openssl, java (keytool) • ./create_cacerts.sh -h hostname -p port -f path/filename – example: ./create_cacerts.sh -h mail.stoeps.local -p 636 -f /opt/install/keystore – You have to provide a keystore password (twice) – You will be asked, if you trust the certificate! • TDIPopulation/solution.properties: javax.net.ssl.trustStore=/opt/install/keystore 4. Some More Get Root Certificate (e.g. selfsigned) 28
  • 30. >> • You can download all scripts (and some more) WITHOUT WARRENTY and on your own risk: https://github.com/stoeps13/ibmcnxscripting • Future: – create Powershell or Windows Batches – scripts for basic troubleshooting – add more error handling – more documentation Ressources Download the shown scripts 30