Как насчет использования метода .NET String.Split
напрямую
Get-ADUser -Properties DistinguishedName | ForEach-Object {
$_.DistinguishedName.Split(",", 2)[1]
}
Это разбивает DistinguishedName
на две части через запятую (т.е. все до первой запятой и все после) и возвращает только вторую часть (индекс массива [1]
).
Я бы, вероятно, добавил Sort-Object
и Select-Object -Unique
к концу этого.
Стоит прочитать: Get-ADOrganizationalUnit
, может быть, это то, что вы на самом деле ищете?
Этот подход аналогичен с оператором PowerShell -split
:
$DNs = Get-ADUser -Properties DistinguishedName | Select -ExpandProperty DistinguishedName
$DNs -split ',',2 | where { $_.StartsWith("OU=") }