Windows
在 Powershell 中截斷部分 LDAP DN?(或從 LDAP DN 獲取 OU。)
在 PowerShell 中獲取包含 LDAP 對象的 OU 的最簡單方法是什麼?
我正在編寫一個腳本來管理一些我用腳本製作的“動態”組,我可以使用以下內容獲得完整的專有名稱:
$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 方法。我使用了下面的程式碼,它將所需的字元串放入名為
PseudoDynamicGroupOU
.$PseudoDynamicGroupDN = (Get-ADGroup -Filter {Name -like $PseudoDynamicGroup}).DistinguishedName; $PseudoDynamicGroupDNPosition = $PseudoDynamicGroupDN.IndexOf(","); $PseudoDynamicGroupOU = $PseudoDynamicGroupDN.Substring($PseudoDynamicGroupDNPosition+1);