none
Script para excluir contas no AD a partir de um arquivo TXT RRS feed

  • Pergunta

  • Ao executar o script abaixo, recebo o erro: Object NULL - Não há tal objeto no servidor.
    O que pode ser??
    ----------------------------------------

    Dim oFSO, sFile, oFile, sText, strUsername, strDomain, objUser, info, objOU

     

     

    Set oFSO = CreateObject("Scripting.FileSystemObject")

    sFile = "c:\usuarios.txt"

    If oFSO.FileExists(sFile) Then

    Set oFile = oFSO.OpenTextFile(sFile, 1)

     Do While Not oFile.AtEndOfStream

       sText = oFile.ReadLine

       If Trim(sText) <> "" Then

       strUsername= sText

       UserDN = buscaDN(strUsername)

     

                    If UserDN <> "" Then

    '                Set objUser = GetObject("LDAP://" & UserDN)

    '                               intUAC = UserObj.Get("userAccountControl")

     

                    Set objOU = GetObject("LDAP://" & UserDN)

                    objOU.Delete "user", UserDN

                               

        End If                                                  

       End If

     Loop

    oFile.Close

     

    End If

     

    Function buscaDN(ByVal nomeUsuario)

        Dim oRootDSE, oConnection, oCommand, oRecordSet

     

    '    Set oRootDSE = GetObject("LDAP://rootDSE")

        Set oConnection = CreateObject("ADODB.Connection")

        oConnection.Open "Provider=ADsDSOObject;"

        Set oCommand = CreateObject("ADODB.Command")

        oCommand.ActiveConnection = oConnection

        oCommand.CommandText = "LDAP://rootdse;(&(objectCategory=User)(samAccountName=" & nomeusuario & "));distinguishedName;subtree"

        Set oRecordSet = oCommand.Execute

        On Error Resume Next

        buscaDN = oRecordSet.Fields("DistinguishedName")

        On Error GoTo 0

        oConnection.Close

        Set oRecordSet = Nothing

        Set oCommand = Nothing

        Set oConnection = Nothing

        Set oRootDSE = Nothing

    End Function

    --------------------------------------------------

    quinta-feira, 15 de julho de 2010 01:03

Respostas

  • Pode ser que o usuário já não exista.

    Tente utilizar este .BAT, tem o mesmo efeito do seu .VBS

    FOR /F %%U IN (C:\USUARIOS.TXT) DO DSQUERY USER -samid "%%U"| DSRM -noprompt

    ---------------------------

    Multirão de Respostas

    ---------------------------


    Fábio de Paula Junior

    quinta-feira, 1 de novembro de 2012 14:31
    Moderador