从OU路径PowerShell中提取域名值

bnlyeluc  于 2022-11-10  发布在  Shell
关注(0)|答案(2)|浏览(190)

我要从CSV提取OU值并从中获取DC名称

$TOD_Data= @(Import-Csv -Path "C:\data.csv")
    $OU = $TOD_Data.oupath
    $DC = ($OU -split '(?<![\\]),' | Where-Object { $_ -match '^DC=' }) -join ','

输出可以提取如下所示的值

DC=ab,DC=if,DC=csg,DC=net

但是我需要像这样将这个值转换为

ab.if.csg.net

请让我知道我该怎么做

m2xkgtsf

m2xkgtsf1#

您还可以使用function defined in this other answer将DN解析为散列,例如:

$h = $OU | Parse-DistinghuishedName 
$h.DomainComponent -join '.'

或者没有中间变量:

($OU | Parse-DistinghuishedName).DomainComponent -join '.'
crcmnpdw

crcmnpdw2#

使用PowerShell图库中我的PoshFunctions模块中的函数Split-DistinguisedName,您可以通过以下方式获得答案:
((Split-DistinguishedName -DistinguishedName $dn -Token | Where { $_ -match '^DC=' } ) -replace '^DC=', '' ) -join '.'
有关进一步的样本,请参阅:

$dnsample = 'CN=SampleUser,OU=users,DC=subdomain,DC=contosco,DC=com'
((Split-DistinguishedName -DistinguishedName $dnsample -Token | Where { $_ -match '^DC=' } ) -replace '^DC=', '' ) -join '.'

subdomain.contosco.com

相关问题