API Reference
DistinguishedNameHelper
Utilities for converting and parsing LDAP Distinguished Names (DNs) and canonical names. Centralizes DN logic for use across analyzers, queries, and rules.
Inheritance
- Object
- DistinguishedNameHelper
Methods
public static String BuildChildDistinguishedName(String attributeName, String value, String parentDistinguishedName) #StringBuilds a child distinguished name under the supplied parent distinguished name.
Parameters
- attributeName System.String
- value System.String
- parentDistinguishedName System.String
public static String BuildRelativeDistinguishedName(String attributeName, String value) #StringBuilds a relative distinguished name using RFC 4514-compatible escaping for the value.
Parameters
- attributeName System.String
- value System.String
public static IReadOnlyList<String> EnumerateOrganizationalUnits(String distinguishedName, Boolean includeParent = false) #IReadOnlyList<String>Enumerates OU paths for each level in the DN (optionally including the full DN first).
Parameters
- distinguishedName System.String
- includeParent System.Boolean = false
public static String FromCanonicalDomain(String canonicalDomain) #StringConverts a canonical domain (domain.tld) to a domain DN (DC=domain,DC=tld).
Parameters
- canonicalDomain System.String
public static String FromCanonicalObject(String canonical) #StringConverts a canonical object path (domain/path/object) to a full object DN.
Parameters
- canonical System.String
public static String FromCanonicalOu(String canonical) #StringConverts a canonical OU path (domain/path) to an OU DN.
Parameters
- canonical System.String
public static String GetCanonicalName(String distinguishedName) #StringReturns the canonical name for a DN (domain.tld\path\object) with unescaped commas.
Parameters
- distinguishedName System.String
public static String GetDomainCanonicalName(String distinguishedName) #StringReturns the domain component of a DN as a dotted canonical name (e.g. DC=ad,DC=contoso -> ad.contoso). Mirrors PowerShell ConvertFrom-DistinguishedName -ToDomainCN behavior.
Parameters
- distinguishedName System.String
public static String GetDomainDnTail(String distinguishedName) #StringReturns the DC=... tail of the DN, or empty.
Parameters
- distinguishedName System.String
public static String GetLastRdnValue(String distinguishedName) #StringReturns the last RDN value (CN/OU value only) with unescaping.
Parameters
- distinguishedName System.String
public static String GetOrganizationalUnitPath(String distinguishedName) #StringReturns the OU path starting from the first OU= segment, or the remainder after the first CN= when no OU exists.
Parameters
- distinguishedName System.String
public static String GetParentContainer(String distinguishedName) #StringReturns the parent container for the supplied DN, mirroring the PowerShell ConvertFrom-DistinguishedName -ToContainer logic. Objects inside containers return their parent container, while container objects return themselves. Domains (DC=...) are returned unchanged.
Parameters
- distinguishedName System.String
public static String GetParentDistinguishedName(String distinguishedName) #StringReturns the immediate parent distinguished name (all RDNs except the first), or empty when unavailable.
Parameters
- distinguishedName System.String
public static Boolean LooksLikeDistinguishedName(String value) #BooleanBest-effort heuristic for checking whether a string looks like a DN. Intended only for UI/tool input routing, not for validation/security decisions.
Parameters
- value System.String
public static String ToFqdn(String distinguishedName) #StringAttempts to build an FQDN host from a CN DN (best-effort; limited cases only).
Parameters
- distinguishedName System.String