Users Info

Users Info
 1ot = impact.gui.output_toolbox
 2db = impact.active_database
 3
 4
 5def describe_values(values):
 6    for i in range(1, values.field_count  + 1):
 7        ot.add("Column: " + str(values.field_name(i)) + " Value:'" + str(values.load(values.field_name(i))) + "'")
 8
 9def describe_user(user):
10    if user is None:
11        return
12
13    ot.add("LoginID: " + str(user.login_id))
14    ot.add("Name: " + str(user.full_name))
15    ot.add("Formatted Name: " + str(user.formatted_name))
16    ot.add("User Type: " + str(user.user_type))
17    ot.add("Key: " + str(user.key))
18    ot.add("Guid: " + str(user.guid))
19    ot.add("User Group: " + str(user.user_group))
20    ot.add("Email: " + str(user.email))
21    ot.add("Administrator: " + str(user.administrator))
22    ot.add("Disabled: " + str(user.disabled))
23    ot.add("LDAPEnabled: " + str(user.ldap_enabled))
24    ot.add("Connected: " + str(user.connected))
25
26    if user.manager is not None:
27        ot.add("Manager: " + str(user.manager.formatted_name))
28
29    if user.connected:
30        ot.add("Connected From: " + str(user.connected_from))
31        ot.add("Connection Time: " + str(user.connection_date_time))
32
33    addresses = user.addresses
34
35    if addresses.count:
36        ot.add("Address Count: " + str(addresses.count))
37
38        for address in addresses:
39            describe_values(address.values)
40
41    describe_values(user.values)
42
43
44ot.clear()
45
46ot.add("**** All Users ****")
47ot.add("User Count: " + str(db.users.count))
48for i in range(1, db.users.count  + 1):
49    describe_user(db.users.item(i))
50
51# Alternative Syntax
52# for each user in db.users
53# DescribeUser user
54# next
55
56ot.add("**** All Administrators ****")
57admins = db.users.get_administrators()
58ot.add("User Count: " + str(len(admins) - 1 + 1))
59for user in admins:
60    describe_user(user)
61
62ot.add("**** Users of group 'Admins' ****")
63admins = db.users.get_users_for_group("Administrator Users")
64ot.add("User Count: " + str(len(admins) - 1 + 1))
65for user in admins:
66    describe_user(user)
67
68ot.add("**** All connected users ****")
69connected = db.users.get_connected_primary_users()
70ot.add("User Count: " + str(len(connected) - 1 + 1))
71for user in connected:
72    describe_user(user)
73
74ot.add("**** Find By LoginID ****")
75describe_user(db.users.item("ADMIN"))