diff options
Diffstat (limited to 'source4/scripting/bin')
-rwxr-xr-x | source4/scripting/bin/samba_upgradedns | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/source4/scripting/bin/samba_upgradedns b/source4/scripting/bin/samba_upgradedns index 596371226ae..d00b67daca1 100755 --- a/source4/scripting/bin/samba_upgradedns +++ b/source4/scripting/bin/samba_upgradedns @@ -413,13 +413,17 @@ if __name__ == '__main__': if opts.dns_backend == "BIND9_DLZ": # Check if dns-HOSTNAME account exists and create it if required secrets_msgs = ldbs.secrets.search(expression='(samAccountName=dns-%s)' % hostname, attrs=['secret']) - if len(secrets_msgs) == 0: + msg = ldbs.sam.search(base=domaindn, scope=ldb.SCOPE_DEFAULT, + expression='(sAMAccountName=dns-%s)' % (hostname), + attrs=[]) + if len(secrets_msgs) == 0 or len(msg) == 0: logger.info("Adding dns-%s account" % hostname) - msg = ldbs.sam.search(base=domaindn, scope=ldb.SCOPE_DEFAULT, - expression='(sAMAccountName=dns-%s)' % (hostname), - attrs=[]) + if len(secrets_msgs) == 1: + dn = secrets_msgs[0].dn + ldbs.secrets.delete(dn) + if len(msg) == 1: dn = msg[0].dn ldbs.sam.delete(dn) |