none
Remover associação de usuários a grupos (Memberof) RRS feed

  • Pergunta

  • Boa tarde,

    Alguém poderia me ajudar? Onde trabalho, todos os usuários quando desligados, são movidos para uma OU=Desligados e tem suas contas desabilitadas. Porém, como poderia dissociar ou retirar do atributo memberof os grupos aos quais este usuário está utilizando comandos ou script?

    Desde já, agradeço a atenção.

    terça-feira, 3 de setembro de 2013 21:03

Respostas

  • Eudes,

    Tem este código em PowerShell que retirei desta postagem Alteração de Senha

    # Autor: Warley Eric
    
    $users= get-aduser -Filter * -SearchBase "ou=ExEmployees,dc=contoso,dc=com"
    
    Function RemoveMemberships
    
     {
    
     param([string]$SAMAccountName) 
     
     $user = Get-ADUser $SAMAccountName -properties memberof
     
     $userGroups = $user.memberof
    
     $userGroups | %{get-adgroup $_ | Remove-ADGroupMember -confirm:$false 
     -member $SAMAccountName}
    
     $userGroups = $null
    
     }
    
    
    $users | %{RemoveMemberships $_.SAMAccountName}
    Você precisa ajustar o caminho da OU na primeira linha.


    Fábio de Paula Junior


    terça-feira, 3 de setembro de 2013 21:52
    Moderador

Todas as Respostas

  • Eudes,

    Tem este código em PowerShell que retirei desta postagem Alteração de Senha

    # Autor: Warley Eric
    
    $users= get-aduser -Filter * -SearchBase "ou=ExEmployees,dc=contoso,dc=com"
    
    Function RemoveMemberships
    
     {
    
     param([string]$SAMAccountName) 
     
     $user = Get-ADUser $SAMAccountName -properties memberof
     
     $userGroups = $user.memberof
    
     $userGroups | %{get-adgroup $_ | Remove-ADGroupMember -confirm:$false 
     -member $SAMAccountName}
    
     $userGroups = $null
    
     }
    
    
    $users | %{RemoveMemberships $_.SAMAccountName}
    Você precisa ajustar o caminho da OU na primeira linha.


    Fábio de Paula Junior


    terça-feira, 3 de setembro de 2013 21:52
    Moderador
  • Fábio, obrigado pelo apoio. Também encontrei na postagem que você "linkou" este script:

    SET OU="OU=People2,DC=contoso,DC=com"

    ::0. Retirar usuário de todos os grupos

    for /f "Tokens=*" %%u in ('dsquery user -startnode %OU%') do (
        echo Verificando %%u
        
        for /f "Tokens=*" %%g in ('dsget user %%u -memberof') do dsmod group %%g -rmmbr %%u

    )


    Eudes Andrade


    sexta-feira, 6 de setembro de 2013 16:29
  • Não deu certo cmdlet Remove-ADGroupMember at command pipeline position 2, aparece esse erro!

    sexta-feira, 8 de julho de 2016 18:53
  • Já que o código escrito acima não deu muito certo para você, quem sabe um desenho resolva...


    sexta-feira, 8 de julho de 2016 21:03
  • Estava buscando como automatizar a remoção de grupos.
    O Script acima funcionou, você precisa apenas ajustas as linhas do código amigo!

    $users= get-aduser -Filter * -SearchBase "OU=BLOQUEADOS,DC=CONTOSO,DC=LOCAL"
    Function RemoveMemberships
    {
     param([string]$SAMAccountName) 
     $user = Get-ADUser $SAMAccountName -properties memberof
     $userGroups = $user.memberof
     $userGroups | %{get-adgroup $_ | Remove-ADGroupMember -confirm:$false -member $SAMAccountName}
     $userGroups = $null
    }
    $users | %{RemoveMemberships $_.SAMAccountName}


    terça-feira, 31 de março de 2020 12:49