function Get-DomainNameDistinguishedName { <# .SYNOPSIS Splits a domain name string in to distinguished name format. .DESCRIPTION Splits a domain name string in to distinguished name format. I.e. DC=sample,DC=domain,DC=local .PARAMETER DomainName [string] The Domain Name to Split .EXAMPLE Get-DomainNameDistinguishedName "corp.alkamitech.com" -verbose VERBOSE: [Get-DomainNameDistinguishedName] : Formatting: [corp.alkamitech.com] VERBOSE: [Get-DomainNameDistinguishedName] : Result: [DC=corp,DC=alkamitech,DC=com] DC=corp,DC=alkamitech,DC=com #> [CmdletBinding()] [OutputType([string])] param( [Parameter(Mandatory=$true)] [ValidateNotNullOrEmpty()] [string]$DomainName ) $logLead = Get-LogLeadName if ($DomainName -match "DC=|OU=") { Write-Host "$logLead : Domain Name [$DomainName] already appears to be distinguished name format. No transform will occur." return $DomainName } Write-Verbose "$logLead : Formatting: [$DomainName]" # ToDo: Use Join String when we convert to PS7 # Split on the '.' character, prefix each segment with DC=, then join with ',' $domainSplitWithPrefix = $DomainName.Split('.') | ForEach-Object { "DC=" + $_ } $domainNameDistinguishedFormat = ($domainSplitWithPrefix -join ",").TrimEnd(',') Write-Verbose "$logLead : Result: [$domainNameDistinguishedFormat]" return $domainNameDistinguishedFormat }