Skip to content

Instantly share code, notes, and snippets.

@KrE80r
Last active May 7, 2021 10:35
Show Gist options
  • Save KrE80r/14fb1af1fbce79865810f52d03417dba to your computer and use it in GitHub Desktop.
Save KrE80r/14fb1af1fbce79865810f52d03417dba to your computer and use it in GitHub Desktop.
#!/usr/bin/python2
from ipalib import api
api.bootstrap(context="exporter", debug=False)
api.finalize()
api.Backend.rpcclient.connect()
users = api.Command["user_find"](all=True)["result"]
print(
"Login,Full Name, Title, Account Disabled, Memeber of Groups, Member of Sudo rule, Member of HBAC rule"
)
for user in users:
login = "".join(user["uid"])
gecos = " ".join(user["gecos"])
locked = bool(user["nsaccountlock"])
if "memberof_group" in user:
groups = " ".join(user["memberof_group"])
else:
groups = "None"
if "memberof_sudorule" in user:
sudo = " ".join(user["memberof_sudorule"])
else:
sudo = "None"
if "memberof_hbacrule" in user:
hbac = " ".join(user["memberof_hbacrule"])
else:
hbac = "None"
if "title" in user:
title = " ".join(user["title"]).replace(',', ' -')
else:
title = "None"
print("%s,%s,%s,%s,%s,%s,%s" % (login, gecos, title, locked, groups, sudo, hbac))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment