在Powershell中截断部分LDAP DN? (或从LDAP DN获取OU。)

PowerShell中获取包含LDAP对象的OU的最简单方法是什么?

我正在编写一个脚本来pipe理一些我已经用脚本“dynamic化”的组,并且可以通过以下方式获得完整的专有名称:

$PseudoDynamicGroupDN = (Get-ADGroup -Filter {Name -like $PseudoDynamicGroup}).DistinguishedName 

它返回类似于:

 CN=MyPseudoDynamicGroup,OU=Users,OU=BusinessUnit,OU=Site,OU=Company,DC=domain,DC=forest,DC=tld 

我正在寻找放弃CN=MyPseudoDynamicGroup,所以我最终:

 OU=Users,OU=BusinessUnit,OU=Site,OU=Company,DC=domain,DC=forest,DC=tld 

我如何尽可能轻松地做到这一点? 我尝试使用Split运算符 ,但是这返回一个数组,并且删除逗号,迫使我将它们添加回来。我怀疑有一个更好的方法。

到目前为止,我发现的最简单的方法是使用.NET框架的IndexOf方法获取逗号字符的第一个实例的索引,并将其提供给.NET框架的Substring方法 。 我使用下面的代码,将所需的string放入一个名为PseudoDynamicGroupOU的variables中。

 $PseudoDynamicGroupDN = (Get-ADGroup -Filter {Name -like $PseudoDynamicGroup}).DistinguishedName; $PseudoDynamicGroupDNPosition = $PseudoDynamicGroupDN.IndexOf(","); $PseudoDynamicGroupOU = $PseudoDynamicGroupDN.Substring($PseudoDynamicGroupDNPosition+1);