46 lines
1.4 KiB
PowerShell
46 lines
1.4 KiB
PowerShell
|
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
|
||
|
}
|