guid = None (msgs, ctrls) = remote_ldb.search(expression="(samaccountname=administrator)", base=base, attrs=["objectClass"], controls=["dirsync:1:1:50"]) if (len(ctrls)): for ctl in ctrls: arr = ctl.split(':') if arr[0] == 'dirsync': cookie = ndr_unpack(drsblobs.ldapControlDirSyncCookie, base64.b64decode(arr[3])) guid = cookie.blob.guid1 pass if not guid: print("No dirsync control ... strange") sys.exit(1) print("") print("Getting first guest without any cookie") (msgs, ctrls) = remote_ldb.searchex(expression="(samaccountname=guest)", base=base, attrs=["objectClass"], controls=["dirsync:1:1:50"]) cookie = None if (len(ctrls)): for ctl in ctrls: cookie = printdirsync(ctl) print("Returned %d entries" % len(msgs)) savedcookie = cookie print("") print("Getting allusers with cookie") controls = ["dirsync:1:1:50:%s" % base64.b64encode(ndr_pack(cookie)).decode('utf8')] (msgs, ctrls) = remote_ldb.searchex(expression="(samaccountname=*)", base=base, attrs=["objectClass"], controls=controls) if (len(ctrls)): for ctl in ctrls: cookie = printdirsync(ctl)
guid = None (msgs, ctrls) = remote_ldb.search(expression="(samaccountname=administrator)", base=base, attrs=["objectClass"], controls=["dirsync:1:1:50"]) if (len(ctrls)): for ctl in ctrls: arr = ctl.split(':') if arr[0] == 'dirsync': cookie = ndr_unpack(drsblobs.ldapControlDirSyncCookie, base64.b64decode(arr[3])) guid = cookie.blob.guid1 pass if not guid: print "No dirsync control ... strange" sys.exit(1) print "" print "Getting first guest without any cookie" (msgs, ctrls) = remote_ldb.searchex(expression="(samaccountname=guest)", base=base, attrs=["objectClass"], controls=["dirsync:1:1:50"]) cookie = None if (len(ctrls)): for ctl in ctrls: cookie = printdirsync(ctl) print "Returned {0:d} entries".format(len(msgs)) savedcookie = cookie print "" print "Getting allusers with cookie" controls=["dirsync:1:1:50:{0!s}".format(base64.b64encode(ndr_pack(cookie)))] (msgs, ctrls) = remote_ldb.searchex(expression="(samaccountname=*)", base=base, attrs=["objectClass"], controls=controls) if (len(ctrls)): for ctl in ctrls: cookie = printdirsync(ctl)