O filtro não analisa strings, apenas retorna os dados que você solicitou.
Se você estiver obtendo DN, ou strings de grupo, ou arrays, qualquer coisa que não seja uma única string, você precisará analisá-la, usando substring ou regex
Aqui está uma opção usando regex e split
# Parse the DN for the OU array list
Remove the CN and split
('CN=svc_myaccount,OU=Service Accounts,OU=me3,OU=me2,DC=me,DC=com' -replace 'CN=[^=]*,') -split(',')
# Results
OU=Service Accounts
OU=me3
OU=me2
DC=me
DC=com
#Get just the first element of the above array - arrays are zero based
(('CN=svc_myaccount,OU=Service Accounts,OU=me3,OU=me2,DC=me,DC=com' -replace 'CN=[^=]*,') -split(','))[0]
#Results
OU=Service Accounts
Usando a abordagem acima com uma propriedade calculada
# Pulling live from ADDS
Get-ADUser -Filter 'Name -like "*svc*"' |
Select-Object -Property Name,
@{Name='DistinguishedName';Expression = { (($_.DistinguishedName -replace 'CN=[^=]*,') -split(','))[0]}}
Ou como a propriedade calculada ...
('CN=svc_myaccount,OU=Service Accounts,OU=me3,OU=me2,DC=me,DC=com').split(',|=')[3]
... usando um ou (o tubo entre as duas picadas derramadas) na divisão. Também é uma coisa regex que funciona com .split