This shell is meant to ease the testing and use of identity when someone needs to directly manipulate data. This program is not intended to automated use (use with scripts) and it is expected that a human will interact with it. This tool is designed to use every feature of the XML-RPC interface of
.
The suite of commands that xmlshell supports may change, the builtin 'help' function will list supported commands.
|==D help
info uid services - get information for a user
quit - Exit this program
shell - drop into interactive shell
help - show this screen
map - get the service map registered with identity
clear - Clear the screen because Ctrl+L not supported
update uid data - update account information for a user
disable uid services data - disable account for user for services, data Provision System dependent
r - Rerun a recently run command from the session history
auth agent - authenticate to identity as agent
enable uid services data - enable account for user for services, data Provision System dependent
serv - get the services regsitered with identity
conn - get the connectors regsitered with identity
services is a tuple of services ('ad', 'shell', ...)
data is a dict of dicts in form { 'ConnectorName': {'attrib1':'value1', 'attrib2':'value2', ... } }
None
|==D auth nemo
password: xxxx
Auth Result: ['token', 'Ch#kVvvtMW:?G_rv']
None
|==D mpa
INFO:root:mpa is an unknown command
Operation not supported
|==D map
TestConnector:
['test']
ShellConnector:
['shell']
AdConnector:
['ad']
ZimbraConnector:
['zimbra', 'email']
WmdConnector:
['wmd']
|==D serv
['zimbra', 'ad', 'shell', 'test', 'email', 'wmd']
|==D r
Select a Command to replay:
0: auth
1: info cpepe ('ad',)
2: info cpepe ('ad',)
3: info cpepe ('ad',)
4: auth nemo
5: serv
6: serv
7: map
8: help
9: clear
q: Cancel
Selection:1
INFO:root:('ad',)
AdConnector:
status: success
info:
--> cpepe: {'primaryGroupID': ['513'], 'logonCount': ['0'], 'cn': ['cpepe'], 'countryCode': ['0'], 'objectClass': ['top', 'person', 'organizationalPerson', 'user'], 'userPrincipalName': ['cpepe'], 'adminCount': ['1'], 'lastLogonTimestamp': ['128698580091874343'], 'instanceType': ['4'], 'distinguishedName': ['CN=cpepe,OU=staff,OU=Unet,DC=brandeis,DC=edu'], 'dSCorePropagationData': ['20080902150148.0Z', '16010101000001.0Z'], 'whenCreated': ['20070826130858.0Z'], 'uSNCreated': ['52393'], 'mail': ['cpepe@brandeis.edu'], 'badPasswordTime': ['0'], 'status': 'inactive', 'pwdLastSet': ['128698610072186839'], 'sAMAccountName': ['cpepe'], 'objectCategory': ['CN=Person,CN=Schema,CN=Configuration,DC=brandeis,DC=edu'], 'whenChanged': ['20081107164717.0Z'], 'badPwdCount': ['0'], 'accountExpires': ['9223372036854775807'], 'sAMAccountType': ['805306368'], 'displayName': ['christopher pepe'], 'name': ['cpepe'], 'memberOf': ['CN=Zimbra Users,OU=Groups,OU=Unet,DC=brandeis,DC=edu', 'CN=StaffGroup,OU=Unet,DC=brandeis,DC=edu', 'CN=Domain Admins,OU=Groups,OU=Prime,DC=brandeis,DC=edu'], 'codePage': ['0'], 'userAccountControl': ['514'], 'lastLogon': ['0'], 'uSNChanged': ['193731'], 'sn': ['Pepe'], 'givenName': ['Christopher'], 'lastLogoff': ['0']}
request:
*snip*
id: 1226412060.95
modDate: 2008-11-11 09:01:01
|==D shell
password: xxxx
Auth Result: ['token', 'PVOEOW$sl*SZ(Qng']
Identity Interactive Session
>>> s.getAccountStatus(token[1], 'cpepe')
{'TestConnector': 'active', 'ShellConnector': 'active', 'AdConnector': 'inactive', 'WmdConnector': 'inactive', 'ZimbraConnector': 'active'}
>>> s.getConnectors(token[1])
['TestConnector', 'ShellConnector', 'AdConnector', 'ZimbraConnector', 'WmdConnector']