def main(): lp = LoadParm() lp.load_default() print("\nLoaded loadparm:") print(" samdb_url: ", lp.samdb_url()) print(" server_role: ", lp.server_role()) creds = Credentials() creds.guess(lp) print("\nCredentials:") creds.set_kerberos_state(MUST_USE_KERBEROS) # If MUST_USE_KERBEROS and we have no ticket, yields this error: # "Failed to connect to 'ldap://dc1' with backend 'ldap': LDAP client internal error: NT_STATUS_INVALID_PARAMETER" # Local #samdb = SamDB(lp=lp) # Remote samdb = SamDB(lp=lp, url='ldap://dc1', credentials=creds) print("\nOpened SAM DB:") print(" domain_dn: ", samdb.domain_dn()) print(" domain_dns_name:", samdb.domain_dns_name()) for q in sys.argv[1:]: query(samdb, q)