def list_zones(self, kwargs):
        """
        List the DNS zones configured in the Active Directory.

        Arguments:
            @verbose:bool
                Results will contain full information
        """
        verbose = kwargs.get("verbose", False)

        if not verbose:
            attributes = ["dc", "objectClass"]
        else:
            attributes = ALL

        first = True
        displayed = []
        for name, basePre, baseSuf in (
            ("Domain", "CN=MicrosoftDNS,DC=DomainDnsZones", self.engine.base_dn),
            ("Forest", "CN=MicrosoftDNS,DC=ForestDnsZones", self.engine.forest_base_dn),
            ("Legacy", "CN=MicrosoftDNS,CN=System", self.engine.base_dn),
        ):
            try:
                zones = list(
                    self.engine.query(
                        self.engine.ZONES_FILTER(),
                        attributes,
                        base=f"{basePre},{baseSuf}",
                    )
                )

                if len(zones) > 0:
                    if verbose:
                        displayed.extend(zones)
                    else:
                        if first:
                            first = False
                        else:
                            print()
                        info(f"{name} zones:")
                        self.display(zones)
            except:
                error(f"Can't list {name.lower()} zones", close_array=verbose)

        if verbose:
            self.display(displayed, True)
        elif first:
            info("No zones found")

        List the DNS zones configured in the Active Directory.

        Arguments:
            @verbose:bool
                Results will contain full information
        
ldeep/__main__.py