none
Script AD - Locked Out Accounts RRS feed

  • Pergunta

  • Bom dia Pessoal,

     

    Gostaria de listar os usuários que estão com as contas bloqueadas no AD(não desativadas), pois através de DSQuery não é possível.

    Com certeza através do PowerShell teria essa possibilidade mas ainda não tenho muita exepriência com o mesmo.

    Alguém sabe com ofazê-lo?

     

    Desde já agradeço

     

    Obrigado

    segunda-feira, 24 de março de 2008 12:56

Todas as Respostas

  • Roberto, segue o script

    On Error Resume Next

    Set objConnection = CreateObject("ADODB.Connection")
    Set objCommand =   CreateObject("ADODB.Command")
    objConnection.Provider = "ADsDSOObject"
    objConnection.Open "Active Directory Provider"
    Set objCommand.ActiveConnection = objConnection

    objCommand.Properties("Page Size") = 1000

    objCommand.CommandText = _
        "<LDAP://dc=teste,dc=com,dc=br>;(&(objectCategory=User)" & _
            "(userAccountControl:1.2.840.113556.1.4.803:=4));Name;Subtree" 
    Set objRecordSet = objCommand.Execute

    objRecordSet.MoveFirst
    Do Until objRecordSet.EOF
        Wscript.Echo objRecordSet.Fields("Name").Value
        objRecordSet.MoveNext
    Loop

     

    segunda-feira, 24 de março de 2008 17:14
  • Olá Laerte,

     

    Executei o script, alterando para o nome do meu domínio, mas onde verifico os resultados?

     

    Obrigado

     

    segunda-feira, 24 de março de 2008 18:28
  • Ele não te retornou em messagebox?

    segunda-feira, 24 de março de 2008 18:31
  • Não

    Nenhuma janela abriu, apenas ficou como se nada tivesse ocorrido.
    segunda-feira, 24 de março de 2008 19:15
  • Olá,


    sugiro retirar o On Error Resume Next das primeiras linhas. Esta instrução faz com que as mensagens de erro não sejam exibidas. com elas, poderemos saber o que está acontecendo.


    []s,


    Vinicius Canto
    MVP Windows Server - Admin Frameworks
    terça-feira, 25 de março de 2008 11:12
    Moderador
  • Então,

    fiz conforme o sugerido, tirando o tratamento de erros da primeira linha e a mensagem que me retorna é a seguinte:

     

    C:\>locked.vbs
    C:\locked.vbs(14, 1) ADODB.Recordset: Either BOF or EOF is True, or the current
    record has been deleted. Requested operation requires a current record.

     

    Obrigado

    terça-feira, 25 de março de 2008 11:30
  • Roberto, segue o script correto te passei um paramentro errado Wink

    On Error Resume Next

    Set objConnection = CreateObject("ADODB.Connection")
    Set objCommand =   CreateObject("ADODB.Command")
    objConnection.Provider = "ADsDSOObject"
    objConnection.Open "Active Directory Provider"
    Set objCommand.ActiveConnection = objConnection

    objCommand.Properties("Page Size") = 1000

    objCommand.CommandText = _
        "<LDAP://dc=teste,dc=com,dc=br>;(&(objectCategory=User)" & _
            "(userAccountControl:1.2.840.113556.1.4.803:=16));Name;Subtree" 
    Set objRecordSet = objCommand.Execute

    objRecordSet.MoveFirst
    Do Until objRecordSet.EOF
        Wscript.Echo objRecordSet.Fields("Name").Value
        objRecordSet.MoveNext
    Loop

    terça-feira, 25 de março de 2008 14:27
  • Olá Laerte,

     

    Agora o script simplesmente não dá mensagem nenhuma de erro mas tb não mostra a messageBox xom os usuários lockados

     

    O que deve ser?

     

    terça-feira, 25 de março de 2008 14:40
  • Roberto retire o on error resume next da primeira linha e informe o erro que deve estar dando ok?

     

    quarta-feira, 26 de março de 2008 20:13
  • Oi Laerte,

     

    acontece o mesmo erro que tinha acontecido antes

     

    C:\>locked.vbs
    C:\locked.vbs(14, 1) ADODB.Recordset: Either BOF or EOF is True, or the current
    record has been deleted. Requested operation requires a current record.

     

    Obrigado

    quinta-feira, 27 de março de 2008 02:36