User Info¶
User 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"))