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