mirror of
https://github.com/samba-team/samba.git
synced 2025-07-25 00:59:11 +03:00
s4/samba-tool/drs: Make use of Command.message() method instead of using 'print'
This commit is contained in:
@ -104,17 +104,18 @@ class cmd_drs_showrepl(Command):
|
||||
|
||||
def print_neighbour(self, n):
|
||||
'''print one set of neighbour information'''
|
||||
print("%s" % n.naming_context_dn)
|
||||
self.message("%s" % n.naming_context_dn)
|
||||
try:
|
||||
(site, server) = drs_parse_ntds_dn(n.source_dsa_obj_dn)
|
||||
print("\t%s\%s via RPC" % (site, server))
|
||||
self.message("\t%s\%s via RPC" % (site, server))
|
||||
except RuntimeError:
|
||||
print("\tNTDS DN: %s" % n.source_dsa_obj_dn)
|
||||
print("\t\tDSA object GUID: %s" % n.source_dsa_obj_guid)
|
||||
print("\t\tLast attempt @ %s %s" % (nttime2string(n.last_attempt), drs_errmsg(n.result_last_attempt)))
|
||||
print("\t\t%u consecutive failure(s)." % n.consecutive_sync_failures)
|
||||
print("\t\tLast success @ %s" % nttime2string(n.last_success))
|
||||
print("")
|
||||
self.message("\tNTDS DN: %s" % n.source_dsa_obj_dn)
|
||||
self.message("\t\tDSA object GUID: %s" % n.source_dsa_obj_guid)
|
||||
self.message("\t\tLast attempt @ %s %s" % (nttime2string(n.last_attempt),
|
||||
drs_errmsg(n.result_last_attempt)))
|
||||
self.message("\t\t%u consecutive failure(s)." % n.consecutive_sync_failures)
|
||||
self.message("\t\tLast success @ %s" % nttime2string(n.last_success))
|
||||
self.message("")
|
||||
|
||||
def drsuapi_ReplicaInfo(ctx, info_type):
|
||||
'''call a DsReplicaInfo'''
|
||||
@ -151,18 +152,18 @@ class cmd_drs_showrepl(Command):
|
||||
raise CommandError("Failed to search NTDS DN %s" % ntds_dn)
|
||||
conn = self.samdb.search(base=ntds_dn, expression="(objectClass=nTDSConnection)")
|
||||
|
||||
print("%s\\%s" % (site, server))
|
||||
print("DSA Options: 0x%08x" % int(attr_default(ntds[0], "options", 0)))
|
||||
print("DSA object GUID: %s" % self.samdb.schema_format_value("objectGUID", ntds[0]["objectGUID"][0]))
|
||||
print("DSA invocationId: %s\n" % self.samdb.schema_format_value("objectGUID", ntds[0]["invocationId"][0]))
|
||||
self.message("%s\\%s" % (site, server))
|
||||
self.message("DSA Options: 0x%08x" % int(attr_default(ntds[0], "options", 0)))
|
||||
self.message("DSA object GUID: %s" % self.samdb.schema_format_value("objectGUID", ntds[0]["objectGUID"][0]))
|
||||
self.message("DSA invocationId: %s\n" % self.samdb.schema_format_value("objectGUID", ntds[0]["invocationId"][0]))
|
||||
|
||||
print("==== INBOUND NEIGHBORS ====\n")
|
||||
self.message("==== INBOUND NEIGHBORS ====\n")
|
||||
(info_type, info) = self.drsuapi_ReplicaInfo(drsuapi.DRSUAPI_DS_REPLICA_INFO_NEIGHBORS)
|
||||
for n in info.array:
|
||||
self.print_neighbour(n)
|
||||
|
||||
|
||||
print("==== OUTBOUND NEIGHBORS ====\n")
|
||||
self.message("==== OUTBOUND NEIGHBORS ====\n")
|
||||
(info_type, info) = self.drsuapi_ReplicaInfo(drsuapi.DRSUAPI_DS_REPLICA_INFO_REPSTO)
|
||||
for n in info.array:
|
||||
self.print_neighbour(n)
|
||||
@ -178,25 +179,25 @@ class cmd_drs_showrepl(Command):
|
||||
'NTDSCONN_KCC_SITE_FAILOVER_TOPOLOGY',
|
||||
'NTDSCONN_KCC_REDUNDANT_SERVER_TOPOLOGY']
|
||||
|
||||
print("==== KCC CONNECTION OBJECTS ====\n")
|
||||
self.message("==== KCC CONNECTION OBJECTS ====\n")
|
||||
for c in conn:
|
||||
print("Connection --")
|
||||
print("\tConnection name: %s" % c['name'][0])
|
||||
print("\tEnabled : %s" % attr_default(c, 'enabledConnection', 'TRUE'))
|
||||
print("\tServer DNS name : %s" % server_dns)
|
||||
print("\tServer DN name : %s" % c['fromServer'][0])
|
||||
print("\t\tTransportType: RPC")
|
||||
print("\t\toptions: 0x%08X" % int(attr_default(c, 'options', 0)))
|
||||
self.message("Connection --")
|
||||
self.message("\tConnection name: %s" % c['name'][0])
|
||||
self.message("\tEnabled : %s" % attr_default(c, 'enabledConnection', 'TRUE'))
|
||||
self.message("\tServer DNS name : %s" % server_dns)
|
||||
self.message("\tServer DN name : %s" % c['fromServer'][0])
|
||||
self.message("\t\tTransportType: RPC")
|
||||
self.message("\t\toptions: 0x%08X" % int(attr_default(c, 'options', 0)))
|
||||
if not 'mS-DS-ReplicatesNCReason' in c:
|
||||
print("Warning: No NC replicated for Connection!")
|
||||
self.message("Warning: No NC replicated for Connection!")
|
||||
continue
|
||||
for r in c['mS-DS-ReplicatesNCReason']:
|
||||
a = str(r).split(':')
|
||||
print("\t\tReplicatesNC: %s" % a[3])
|
||||
print("\t\tReason: 0x%08x" % int(a[2]))
|
||||
self.message("\t\tReplicatesNC: %s" % a[3])
|
||||
self.message("\t\tReason: 0x%08x" % int(a[2]))
|
||||
for s in reasons:
|
||||
if getattr(dsdb, s, 0) & int(a[2]):
|
||||
print("\t\t\t%s" % s)
|
||||
self.message("\t\t\t%s" % s)
|
||||
|
||||
|
||||
class cmd_drs_kcc(Command):
|
||||
@ -229,7 +230,7 @@ class cmd_drs_kcc(Command):
|
||||
self.drsuapi.DsExecuteKCC(self.drsuapi_handle, 1, req1)
|
||||
except Exception, e:
|
||||
raise CommandError("DsExecuteKCC failed", e)
|
||||
print("Consistency check on %s successful." % DC)
|
||||
self.message("Consistency check on %s successful." % DC)
|
||||
|
||||
|
||||
|
||||
@ -298,7 +299,7 @@ class cmd_drs_replicate(Command):
|
||||
self.drsuapi.DsReplicaSync(self.drsuapi_handle, 1, req1)
|
||||
except Exception, estr:
|
||||
raise CommandError("DsReplicaSync failed", estr)
|
||||
print("Replicate from %s to %s was successful." % (SOURCE_DC, DEST_DC))
|
||||
self.message("Replicate from %s to %s was successful." % (SOURCE_DC, DEST_DC))
|
||||
|
||||
|
||||
|
||||
@ -374,30 +375,30 @@ class cmd_drs_bind(Command):
|
||||
("DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2", "DRS_EXT_LH_BETA2"),
|
||||
("DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN", "DRS_EXT_RECYCLE_BIN")]
|
||||
|
||||
print("Bind to %s succeeded." % DC)
|
||||
print("Extensions supported:")
|
||||
self.message("Bind to %s succeeded." % DC)
|
||||
self.message("Extensions supported:")
|
||||
for (opt, str) in optmap:
|
||||
optval = getattr(drsuapi, opt, 0)
|
||||
if info.info.supported_extensions & optval:
|
||||
yesno = "Yes"
|
||||
else:
|
||||
yesno = "No "
|
||||
print(" %-60s: %s (%s)" % (opt, yesno, str))
|
||||
self.message(" %-60s: %s (%s)" % (opt, yesno, str))
|
||||
|
||||
if isinstance(info.info, drsuapi.DsBindInfo48):
|
||||
print("\nExtended Extensions supported:")
|
||||
self.message("\nExtended Extensions supported:")
|
||||
for (opt, str) in optmap_ext:
|
||||
optval = getattr(drsuapi, opt, 0)
|
||||
if info.info.supported_extensions_ext & optval:
|
||||
yesno = "Yes"
|
||||
else:
|
||||
yesno = "No "
|
||||
print(" %-60s: %s (%s)" % (opt, yesno, str))
|
||||
self.message(" %-60s: %s (%s)" % (opt, yesno, str))
|
||||
|
||||
print("\nSite GUID: %s" % info.info.site_guid)
|
||||
print("Repl epoch: %u" % info.info.repl_epoch)
|
||||
self.message("\nSite GUID: %s" % info.info.site_guid)
|
||||
self.message("Repl epoch: %u" % info.info.repl_epoch)
|
||||
if isinstance(info.info, drsuapi.DsBindInfo48):
|
||||
print("Forest GUID: %s" % info.info.config_dn_guid)
|
||||
self.message("Forest GUID: %s" % info.info.config_dn_guid)
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user