Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import subprocess
- import time
- def get_oldpasses():
- pairs=[]
- try:
- cmd='dsquery * CN=Users,DC=team1,DC=toast,DC=it -limit 0 -filter userPassword=* -attr cn userPassword'
- proc=subprocess.Popen(cmd.split(),stdout=subprocess.PIPE)
- out=proc.communicate()[0]
- lines=out.split('\r\n')
- skipped_first=False
- for line in lines:
- if not skipped_first:
- skipped_first=True
- continue
- try:
- line=line.strip().split()
- if len(line)>0:
- user=line[0]
- password_dec=line[1:]
- password=''
- for ii in password_dec:
- password+=chr(int(ii,16))
- pairs.append((user,password))
- except:
- pass
- except:
- pass
- return pairs
- def remove_user(user):
- try:
- cmd='dsrm CN='+user+',CN=Users,DC=team1,DC=toast,DC=it -noprompt'
- print(cmd)
- proc=subprocess.Popen(cmd.split(),stdout=subprocess.PIPE,stderr=subprocess.PIPE)
- out=proc.communicate()[1].strip()
- if len(out)>0:
- print(out)
- except:
- pass
- def new_user(user,password):
- try:
- cmd='dsadd user CN='+user+',CN=Users,DC=team1,DC=toast,DC=it -samid '+user+' -pwd '+password
- print(cmd)
- proc=subprocess.Popen(cmd.split(),stdout=subprocess.PIPE,stderr=subprocess.PIPE)
- out=proc.communicate()[1].strip()
- if len(out)>0:
- print(out)
- except:
- raise
- if __name__=='__main__':
- while True:
- for ii in get_oldpasses():
- remove_user(ii[0])
- new_user(ii[0],ii[1])
- time.sleep(1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement