none
Script para salvar grupos de acesso de um usuário RRS feed

  • Pergunta

  • Bom dia,

    Hoje quando um funcionário é desligado da empresa, nos apenas desativamos o usuário no AD.

    Gostaríamos de um script que salve todos os grupos de acesso de um usuário em um arquivo de texto (para que posso ser recuperado depois), logo após, retire todos os grupos do usuário, desative-o e o mova para uma OU de usuários desativados.

    Alguém já possui um script deste? Há alguma maneira melhor para automatizar esta tarefa?

    Obrigado

    Miltinho


    sexta-feira, 6 de junho de 2014 13:52

Respostas

  • Milton,

    Comecei o script pra você, só falta desativar e mover, você pode usar a última linha como base.

    Em PowerShell (.ps1)

    Import-Module ActiveDirectory
    
    $Usuario = "fabio.junior"
    
    #Gravando em arquivo lista de grupos
    (Get-ADUser -Identity $Usuario -Properties memberof).memberof | 
        set-Content "C:\temp\$($Usuario)_Grupos.txt"
    
    
    #Removendo grupos do usuário
    (Get-ADUser -Identity $Usuario -Properties memberof).memberof | % {Remove-ADGroupMember $_ -Members $Usuario}


    Fábio de Paula Junior

    sexta-feira, 6 de junho de 2014 16:52
    Moderador

Todas as Respostas

  • Milton,

    Comecei o script pra você, só falta desativar e mover, você pode usar a última linha como base.

    Em PowerShell (.ps1)

    Import-Module ActiveDirectory
    
    $Usuario = "fabio.junior"
    
    #Gravando em arquivo lista de grupos
    (Get-ADUser -Identity $Usuario -Properties memberof).memberof | 
        set-Content "C:\temp\$($Usuario)_Grupos.txt"
    
    
    #Removendo grupos do usuário
    (Get-ADUser -Identity $Usuario -Properties memberof).memberof | % {Remove-ADGroupMember $_ -Members $Usuario}


    Fábio de Paula Junior

    sexta-feira, 6 de junho de 2014 16:52
    Moderador
  • Obrigado, 

    Vou testar e te falo.

    Abs

    segunda-feira, 16 de junho de 2014 17:35
  • Muito obrigado Fábio,

    Meu script ficou assim:

    Import-Module ActiveDirectory

    $Usuario = "joaoninguem"

    #Gravando em arquivo lista de grupos
    (Get-ADUser -Identity $Usuario -Properties memberof).memberof | 
        set-Content "C:\temp1\$($Usuario)_Grupos.txt"


    #Removendo grupos do usuário
    (Get-ADUser -Identity $Usuario -Properties memberof).memberof | % {Remove-ADGroupMember $_ -Members $Usuario}

    #Desativando usuário
    Set-ADUser $Usuario -Enabled $false

    #Movendo usuário desativado para OU

    $Root = [ADSI]''

    $searcher = new-object System.DirectoryServices.DirectorySearcher($root)

    $searcher.filter = "(&(objectClass=user)(DisplayName= $Usuario))"

    $User = $searcher.findone()



    $ADSPath = $User.Properties.adspath

    $MoveToOU = [ADSI]("LDAP://OU=UsuariosDesativados,DC=dominio,DC=com")

    $AUser = [ADSI]("$ADSPath")



    $AUser.PSBase.moveto($MoveToOU)


    segunda-feira, 16 de junho de 2014 19:44
  • Milton,

    Muito bom.

    Eu só mudaria a parte de mover o usuário para uma forma mais simples, usando o módulo.

    Moving a User

    http://technet.microsoft.com/pt-br/library/dd378913(v=ws.10).aspx


    Fábio de Paula Junior

    terça-feira, 17 de junho de 2014 11:30
    Moderador