Advertisement
Guest User

Untitled

a guest
Nov 28th, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. import subprocess
  2. import time
  3.  
  4. def get_oldpasses():
  5. pairs=[]
  6. try:
  7. cmd='dsquery * CN=Users,DC=team1,DC=toast,DC=it -limit 0 -filter userPassword=* -attr cn userPassword'
  8. proc=subprocess.Popen(cmd.split(),stdout=subprocess.PIPE)
  9. out=proc.communicate()[0]
  10. lines=out.split('\r\n')
  11. skipped_first=False
  12. for line in lines:
  13. if not skipped_first:
  14. skipped_first=True
  15. continue
  16. try:
  17. line=line.strip().split()
  18. if len(line)>0:
  19. user=line[0]
  20. password_dec=line[1:]
  21. password=''
  22. for ii in password_dec:
  23. password+=chr(int(ii,16))
  24. pairs.append((user,password))
  25. except:
  26. pass
  27. except:
  28. pass
  29. return pairs
  30.  
  31. def remove_user(user):
  32. try:
  33. cmd='dsrm CN='+user+',CN=Users,DC=team1,DC=toast,DC=it -noprompt'
  34. print(cmd)
  35. proc=subprocess.Popen(cmd.split(),stdout=subprocess.PIPE,stderr=subprocess.PIPE)
  36. out=proc.communicate()[1].strip()
  37. if len(out)>0:
  38. print(out)
  39. except:
  40. pass
  41.  
  42. def new_user(user,password):
  43. try:
  44. cmd='dsadd user CN='+user+',CN=Users,DC=team1,DC=toast,DC=it -samid '+user+' -pwd '+password
  45. print(cmd)
  46. proc=subprocess.Popen(cmd.split(),stdout=subprocess.PIPE,stderr=subprocess.PIPE)
  47. out=proc.communicate()[1].strip()
  48. if len(out)>0:
  49. print(out)
  50. except:
  51. raise
  52.  
  53.  
  54. if __name__=='__main__':
  55. while True:
  56. for ii in get_oldpasses():
  57. remove_user(ii[0])
  58. new_user(ii[0],ii[1])
  59. time.sleep(1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement