我在不允许在服务器中安装/使用Powershell模块(例如活动目录模块)的环境中工作。
我想做的是删除存储在数组中的组的成员。
因此,假设包含要删除的成员的数组称为toberemoved:
$toberemoved = @("COMPUTER1","COMPUTER2","COMPUTER5")
该组称为:全球计算机组:
$computergroup = "Global Computer Group"
我试图做的是这样:
$findgroup=[adsi]"LDAP://$computergroup"
foreach($item in $toberemoved) {
$findgroup.Remove("LDAP://$item")
}
我也尝试过:
$findgroup=[adsi]"LDAP://$computergroup"
foreach($item in $toberemoved) {
$base = "CN=$item,DC=Domain,OU=Computers,OU=local"
$findgroup.Remove("LDAP://$item")
}
没有成功。
尝试在PowerShell ISE中运行此程序时,我得到的是我遇到服务器错误。对可能出什么问题的任何想法,或者不使用AD模块就可以做到这一点的其他想法?
答案 0 :(得分:1)
您是否尝试使用完整的ADsPath名称?看看上面写的这篇很棒的文章。 https://www.petri.com/managing-active-directory-groups-adsi-powershell
TLDR?
您在这里:
[adsi]$Group = "LDAP://CN=GroupName,OU=OrganizationalUnit,DC=Your,DC=Domain,DC=com"
foreach($User in $toberemoved) { #Again, full ADsPaths
$Group.Remove($User)
}