none
Erro ao tentar gerar aquivo com dados do ADUser PowerShell RRS feed

  • Pergunta

  • Prezados,

    Fiz uma pesquisa no fórum pra tentar achar alguém com o mesmo erro, mas não encontrei.

    Vejam se podem me ajudar:

    Estou executando o script abaixo pra listar várias informações do usuário no AD, porém, depois de executar por um período de tempo, o script para e apresenta o erro. O erro aconteceu diversas vezes com o arquivo gerado ocupando 6758KB, mas aconteceu com um pouco maior também.

    OBS. Os campos duplicados são de propósito.

    SCRIPT

    #Fernando Félix Amorim
    ##Date:24/04/2013
    ##Script pra trazer todos os dados dos usuários do AD salvando em um arquivo csv
    
    #Faz policita de autorização do script no powershell
    Set-ExecutionPolicy -Scope Process
    Set-ExecutionPolicy Unrestricted LocalMachine 
    
    #Comando para importar o módulo AD
    Import-Module ActiveDirectory
    
    #Comando para trazer os dados dos usuários salvando em um arquivo csv
    Get-ADUser -filter * -Properties * |
    where {([DateTime]::FromFileTime($_.lastLogon)) -lt  (Get-Date).AddDays(-0)} |
    Select-Object CanonicalName,Name,accountExpires,Enabled,LockedOut,LastLogonDate,LastLogoffDate,LastLogoff,lastLogon,lockoutTime,modifyTimeStamp,LastlogonTimeStamp,sAMAccountName, givenName, 
    sn,createTimeStamp,whenCreated, 
    @{Name="LastLogon2"; Expression={[DateTime]::FromFileTime($_.lastLogon)}},
    @{Name="accountExpires2"; Expression={[DateTime]::FromFileTime($_.accountExpires)}},
    @{Name="lockoutTime2"; Expression={[DateTime]::FromFileTime($_.lockoutTime)}},
    @{Name="LastlogonTimeStamp2"; Expression={[DateTime]::FromFileTime($_.LastlogonTimeStamp)}},
    @{Name="createTimeStamp2"; Expression={[DateTime]::FromFileTime($_.createTimeStamp)}},
    @{Name="whenCreated2"; Expression={[DateTime]::FromFileTime($_.whenCreated)}} |
    Export-CSV C:\TEMP\Users20130424-3.CSV


    FIM DO SCRIPT

    Erro:

    Get-ADUser : O servidor retornou o seguinte erro: contexto de enumeração inválido.
    No linha:1 caractere:1
    + Get-ADUser -filter * -Properties * |
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [Get-ADUser], ADException
        + FullyQualifiedErrorId : O servidor retornou o seguinte erro: contexto de enumeração inválido.,Microsoft.ActiveDire 
       ctory.Management.Commands.GetADUser


    • Editado Fábio JrModerator quinta-feira, 25 de abril de 2013 10:49 Formatação do código
    quarta-feira, 24 de abril de 2013 14:47

Respostas

  • Nando,

    Pode ser algum usuário que está com algum valor com problema.

    Você poderia executar este comando Get-AdUser com filtro para pegar apenas um usuário, tente com todos. Veja se em algum acontece o erro.


    Fábio de Paula Junior

    • Sugerido como Resposta fernando silva 1 sexta-feira, 26 de abril de 2013 13:07
    • Marcado como Resposta NandoESBR sexta-feira, 26 de abril de 2013 20:37
    quarta-feira, 24 de abril de 2013 16:00
    Moderador
  • Olá Fábio Jr!

    Identifiquei o problema. 

    Como o script estava demorando pra executar e eu estava executando em uma máquina virtual, acredito que estava acontecendo quando a máquina virtual bloqueava a estação por inatividade e assim perdia a "comunicação" com o AD.

    Acompanhei toda a execução e ficou show!

    Obs. Mudei o caracter de delimitação para "|" por ter usuários cadastrados com "," e isso confundia o csv na conversão para tabela.

    Obrigado e um abraço!

    • Marcado como Resposta NandoESBR sexta-feira, 26 de abril de 2013 20:37
    sexta-feira, 26 de abril de 2013 20:35

Todas as Respostas

  • Nando,

    Pode ser algum usuário que está com algum valor com problema.

    Você poderia executar este comando Get-AdUser com filtro para pegar apenas um usuário, tente com todos. Veja se em algum acontece o erro.


    Fábio de Paula Junior

    • Sugerido como Resposta fernando silva 1 sexta-feira, 26 de abril de 2013 13:07
    • Marcado como Resposta NandoESBR sexta-feira, 26 de abril de 2013 20:37
    quarta-feira, 24 de abril de 2013 16:00
    Moderador
  • Olá Fábio Jr!

    Identifiquei o problema. 

    Como o script estava demorando pra executar e eu estava executando em uma máquina virtual, acredito que estava acontecendo quando a máquina virtual bloqueava a estação por inatividade e assim perdia a "comunicação" com o AD.

    Acompanhei toda a execução e ficou show!

    Obs. Mudei o caracter de delimitação para "|" por ter usuários cadastrados com "," e isso confundia o csv na conversão para tabela.

    Obrigado e um abraço!

    • Marcado como Resposta NandoESBR sexta-feira, 26 de abril de 2013 20:37
    sexta-feira, 26 de abril de 2013 20:35