Beim auslesen des AD´s werden mir keine Nutzer/Gruppen angezeigt die etwas in der Beschreibung stehen haben

  • VBScript

    Beim auslesen des AD´s werden mir keine Nutzer/Gruppen angezeigt die etwas in der Beschreibung stehen haben

    Hallo zusammen,

    bin neu hier im Forum und hab auch gleich eine Frage (ich hoffe ich bin hier richtig).

    Ich habe mir ein Vbscript aus ein paar Komponenten zusammengestellt um AD-Daten auszulesen und in eine Excel Tabelle zu schreiben.
    Jetzt bin ich aber völlig am verzweifeln, da mir nur Konten angezeigt werden in denen das Feld Beschreibung nicht ausgefüllt ist.

    Da ich noch ein Vbscript Neuling bin kann ich mir dies auch nicht erklären. ?( ?(
    Wäre super dankbar für Hilfe :)
    Dies ist mein Code
    Spoiler anzeigen

    Visual Basic-Quellcode

    1. Const xlAnd = 1 ' Enum XlAutoFilterOperator
    2. Const xlOr = 2
    3. Const xlTop10Items = 3
    4. Const xlBottom10Items = 4
    5. Const xlTop10Percent = 5
    6. Const xlBottom10Percent = 6
    7. Const xlAscending = 1 ' Enum XlSortOrder
    8. Const xlDescending = 2
    9. Const xlSortColumns = 1 ' Enum XlSortOrientation
    10. Const xlSortRows = 2
    11. Const xlSortNormal = 0 ' Enum XlSortDataOption
    12. Const xlSortTextAsNumbers = 1
    13. Const msoScaleFromTopLeft = 0 ' Enum MsoScaleFrom
    14. set strRootDSE = GetObject ("LDAP://rootDSE")
    15. Set wso = CreateObject("Wscript.Shell")
    16. '_____________________________________________________________________________ Excel starten
    17. Set xlo = CreateObject("Excel.Application")
    18. xlo.Visible = True
    19. '_______________________________________________________________________________ Auswahl der Domäne
    20. 'wscript.echo "Loading Domains at LDAP://CN=Partitions," & strRootDSE.get ("configurationNamingContext")
    21. set opartition = GetObject("LDAP://CN=Partitions," & strRootDSE.get ("configurationNamingContext"))
    22. for each oDomain in opartition
    23. if oDomain.netbiosname = "" then
    24. REM REM 'wscript.echo "Skip Domain: " & oDomain.dnsroot
    25. else
    26. REM REM 'wscript.echo "Processing Domain: " & oDomain.dnsroot
    27. call ParseDomain(oDomain.dnsroot)
    28. end if
    29. next
    30. '______________________________________________________________________________ Sub xlsFill
    31. 'Füllt eine Zeile in einem Excel-Sheet mit Werten, die als Doppelpunkt String übergeben werden
    32. 'vars xls: excel worksheet
    33. ' col: column number
    34. ' values: semicolon-separated string
    35. '
    36. Sub xlsFill(byRef xls, col, values)
    37. Dim v, i
    38. v = Split(values, ":")
    39. For i=0 To UBound(v)
    40. xls.Cells(col, i+1) = v(i)
    41. Next
    42. End Sub
    43. sub ParseDomain(strdomainname)
    44. dim x
    45. x=2
    46. wscript.echo "Folgende Domäne wird aus dem AD ausgelesen:" & strdomainname
    47. Set oConnection = CreateObject("ADODB.Connection")
    48. Set oRecordset = CreateObject("ADODB.Recordset")
    49. Set oCommand = CreateObject("ADODB.Command")
    50. oConnection.Provider = "ADsDSOObject" 'The ADSI OLE-DB provider
    51. oConnection.Open "ADs Provider"
    52. oCommand.ActiveConnection = oConnection
    53. oCommand.Properties("Page Size") = 100
    54. oCommand.CommandText = "<LDAP://" & strdomainname & "/dc=Domäne,dc=de>;" & _
    55. "(mailnickname=*);" & _
    56. "distinguishedName,extensionAttribute1,displayName,department,mail,descrition,initials,description,samAccountName,objectClass,userPrincipalName,memberof" & _
    57. ";subtree"
    58. Set oRecordset = oCommand.Execute
    59. 'wscript.echo "Done Total Records found:" & oRecordset.recordcount
    60. Set xlw = xlo.Workbooks.Add()
    61. xlw.Sheets(1).Name = "Benutzer dicvm"
    62. '_____________________________________________________________________________ Arbeit in einem Sheet
    63. Set xls = xlw.Sheets(1)
    64. xls.Cells(1,1) = "1"
    65. xls.Cells(1,2) = "2"
    66. xls.Cells(1,5) = "5"
    67. xls.Cells(1,4) = "4"
    68. xls.Cells(1,3) = "3"
    69. With xlw.Sheets(1).Columns(1)
    70. .ColumnWidth = 45
    71. End With
    72. With xlw.Sheets(1).Columns(2)
    73. .ColumnWidth = 20
    74. End With
    75. With xlw.Sheets(1).Columns(5)
    76. .ColumnWidth = 50
    77. End With
    78. With xlw.Sheets(1).Columns(4)
    79. .ColumnWidth = 15
    80. End With
    81. With xlw.Sheets(1).Columns(3)
    82. .ColumnWidth = 10
    83. End With
    84. do until oRecordset.EOF
    85. '_____________________________________________________________________________ Umgang mit Excel Sheets
    86. xls.Cells(x,1) = oRecordset.Fields("displayName")
    87. xls.Cells(x,2) = oRecordset.Fields("samAccountName")
    88. xls.Cells(x,3) = oRecordset.Fields("department")
    89. xls.Cells(x,4) = oRecordset.Fields("extensionAttribute1")
    90. xls.Cells(x,5) = oRecordset.Fields("description")
    91. oRecordset.MoveNext
    92. x = x + 1
    93. loop
    94. msgBox ("Es wurden "& oRecordset.recordcount & " AD-Konten gefunden")
    95. end sub


    Edit by hal2000:
    - Code-Tags gesetzt
    - Expander eingefügt

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „hal2000“ ()