我们正试图在用户在HR数据库中设置用户时关闭所有广告组。我终止了用户帐户,但我们如何使用powershell将所有指定组中的特定用户作为我们。
答案 0 :(得分:0)
您需要先检索ADUser
对象,然后再从ActiveDirectory中删除它,检查其.MemberOf
属性,然后使用Remove-ADGroupMember
cmdlet运行这些组。
答案 1 :(得分:0)
为了让您入门,您需要获得用户memberOf
和用户distinguishedName
在以下示例中,我按用户的登录名(samaccountname
)获取用户。只要返回正确的用户,您就可以使用所需的任何属性:
$testUser = "Test User"
$user = Get-ADUser -filter {Samaccountname -eq $testUser} -Properties memberof, distinguishedName
$Groups = $user.MemberOf
$DN = $user.DistinguishedName
然后,为了将用户从其当前成员资格中删除,您只需将其放入foreach
:
foreach($group in $groups)
{
Remove-ADGroupMember -Members $DN -Identity $group -Confirm:$false
}
-Confirm:$false
是要取消有关删除的警告。您可能希望在测试期间删除该部分
答案 2 :(得分:0)
许多人会告诉您查看用户的memberOf
属性。在大多数情况下,这样做会很好。
但是,memberOf
仅显示范围为' Universal'在林中的任何域上,或者“全球”#39;同一域上的组。它不会显示具有“本地域名”的群组。范围(无论域名),还是' Global'其他领域的群体。
为了保证您找到该用户所属的所有组,您需要在林中的每个域中搜索该用户所属的组:
Import-Module ActiveDirectory
$user = Get-ADUser "theuser"
$domains = (Get-ADForest).Domains
$groups = New-Object System.Collections.ArrayList
foreach ($domain in $domains) {
$groups.AddRange(@(Get-ADGroup -filter {member -eq $user.DistinguishedName} -Server $domain))
}
然后$groups
包含组列表,您可以使用Remove-ADGroupMember
从这些组中删除用户。
同样,如果你这样做,这只与你有关: