none
Relatorio ACtive diretory em dominio Extranet? RRS feed

  • Pergunta

  • Pessoal, preciso de uma ajuda para criar um relatório do ACtive diretory onde ele me me traga alguns dados e em especifico o campo ExtensionAttribute9

    a principio montem esse script para o domínio normal mais não consigo alterar para o domínio extranet.

    podem me ajudar?

    **********************************************

    Const ADS_SCOPE_SUBTREE = 2
    Const xlYes = 1

    dtmCreationDate = "20000101000000.0Z"

    Set objExcel = CreateObject("Excel.Application")
    Set objWorkbook = objExcel.Workbooks.Add
    Set objWorksheet = objWorkbook.Worksheets(1)


    objExcel.Visible = True
    'objExcel.Workbooks.Add

    objExcel.Cells(1, 1).Value = "MATRÍCULA"
    objExcel.Cells(1, 1).Interior.ColorIndex = 30
    objExcel.Cells(1, 1).Font.ColorIndex = 2

    objExcel.Cells(1, 2).Value = "NOME"
    objExcel.Cells(1, 2).Interior.ColorIndex = 30
    objExcel.Cells(1, 2).Font.ColorIndex = 2

    objExcel.Cells(1, 3).Value = "LOGIN"
    objExcel.Cells(1, 3).Interior.ColorIndex = 30
    objExcel.Cells(1, 3).Font.ColorIndex = 2

    objExcel.Cells(1, 4).Value = "E-MAIL"
    objExcel.Cells(1, 4).Interior.ColorIndex = 30
    objExcel.Cells(1, 4).Font.ColorIndex = 2

    objExcel.Cells(1, 5).Value = "DATA CRIAÇÃO"
    objExcel.Cells(1, 5).Interior.ColorIndex = 30
    objExcel.Cells(1, 5).Font.ColorIndex = 2


    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") = 100
    objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 

    objCommand.CommandText = _
        "SELECT ExtensionAttribute9,displayName,sAMAccountName,mail,whenCreated  FROM 'LDAP://dc=extranet,dc=contoso' WHERE primaryGroupID='513' "  & _
            "AND whenCreated>='" & dtmCreationDate & "'" 
    Set objRecordSet = objCommand.Execute
    objRecordSet.MoveFirst
    x = 2

    Do Until objRecordSet.EOF
        objExcel.Cells(x, 1).Value = _
            objRecordSet.Fields("ExtensionAttribute9").Value
        objExcel.Cells(x, 2).Value = _
            objRecordSet.Fields("displayName").Value
        objExcel.Cells(x, 3).Value = _
            objRecordSet.Fields("sAMAccountName").Value
        objExcel.Cells(x, 4).Value = _
            objRecordSet.Fields("mail").Value
        objExcel.Cells(x, 5).Value = _
            objRecordSet.Fields("whenCreated").Value
            x = x + 1
        objRecordSet.MoveNext
    Loop

    Set objRange = objExcel.Range("A1")
    objRange.Activate

    Set objRange = objExcel.ActiveCell.EntireColumn
    objRange.Autofit()

    Set objRange = objExcel.Range("B1")
    objRange.Activate
    Set objRange = objExcel.ActiveCell.EntireColumn
    objRange.Autofit()

    Set objRange = objExcel.Range("C1")
    objRange.Activate

    Set objRange = objExcel.ActiveCell.EntireColumn
    objRange.Autofit()

    Set objRange = objExcel.Range("D1")
    objRange.Activate

    Set objRange = objExcel.ActiveCell.EntireColumn
    objRange.Autofit()

    Set objRange = objExcel.Range("E1")
    objRange.Activate

    Set objRange = objExcel.ActiveCell.EntireColumn
    objRange.Autofit()


    Set objRange = objExcel.ActiveCell.EntireColumn
    objRange.Autofit()

    Set objRange = objExcel.Range("A1").SpecialCells(11)
    Set objRange2 = objExcel.Range("C1")
    Set objRange3 = objExcel.Range("A1")

    objExcel.Selection.AutoFilter
        

    quarta-feira, 30 de novembro de 2016 22:19

Todas as Respostas

  • Olá. Desculpe-me, mas sua solicitação não ficou clara. Seu script funciona perfeitamente em seu domínio principal, certo? Qual é o problema que ocorre ao executá-lo para o outro domínio. De que forma você está executando?

    Já pensou em usar o PowerShell? Acredito que ele com o módulo do AD seja mais poderoso que vbscript.

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


    • Editado J. Maurício quinta-feira, 1 de dezembro de 2016 10:13
    quinta-feira, 1 de dezembro de 2016 10:13
  • Boa tarde J.Mauricio,

    o meu domínio principal consigo sim executa-lo normalmente mais quando 

    mudo o domínio para extranet ele não consegue localizar os dados.

    achei que fosse alguma linha errada ou configuração, 

    Sobre o PowerShell, 

    ja pensei em usar sim porem não conheço muito bem a ferramenta.

    quinta-feira, 1 de dezembro de 2016 18:52
  • E você está executando diretamente no DC do domínio "extranet"?
    quinta-feira, 1 de dezembro de 2016 19:01