VBScript größer 15 Felder schreiben (Pager, Faxnummer)
Ich versuche unsere ADS aufzuräumen und möchte die erweiterten Felder überarbeiten.
Es gibt jede Menge Scripte, die immer nur innerhalb der ersten 15 Felder schreiben.
Lesen ist kein Problem, es werden derzeit 25 Felder gelesen.
Aber die 25 Felder zurückzuschreiben scheint nicht zu funktionieren,
I.d.R. ist ab dem 15 Feld immer ein Error.
Ab "PostalCode" geht die Loop in Error....
Daten werden aus CSV gelesen
Hat einer eine Idee?
Danke Joachim
' Datei Kopfzeile einlesen:
zeile1 = infos.ReadLine
' Datei Zeilenweise einlesen:
Do until infos.AtEndOfStream
' eine Zeile einlesen
zeile = infos.ReadLine
Errorcount=0
' Informationen durch Semikola splitten
details = Split(zeile, ";")
' Verbindung zu Userkonto aufnehmen und flags setzen
objCommand.CommandText = "SELECT distinguishedName FROM 'LDAP:DC=Domain,DC=com'" & "WHERE samAccountName = '" & Trim(details(0)) &"'"
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
strDist = "LDAP:" & objRecordSet.Fields("distinguishedName").Value
Set oUser = GetObject(strDist)
errortext= details(0)
test= details(1)
if test = "FALSCH" then
Put_Item "sn", details(2)
Put_Item "GivenName", details(3)
Put_Item "DisplayName", details(4)
'Achtung Beschreibenden Infos
outString = details(5) & ";"
outString = outString & details(6) & ";"
outString = outString & details(7) & ";"
outString = outString & details(8) & ";"
outString = outString & details(9) & ";"
outString = outString & details(10) &";"
Put_Item "Description", outString
Put_Item "physicalDeliveryOfficeName", details(12)
Put_Item "telephoneNumber", details(13)
Put_Item "StreetAddress", details(14)
'Put_Item "PostalCode", details(15)
'Put_Item "l", details(16)
'Put_Item "st", details(17)
'Put_Item "Mobil", details(18)
'Put_Item "facsimileTelephoneNumber", details(19)
'Put_Item "department", details(20)
'Put_Item "Company", details(21)
'Put_Item "pager", details(25)
If Errorcount = 1 Then
ErrorFile.WriteLine errortext
WScript.Echo "Fehler beim Einspielen"
else
oUser.setinfo
End IF
End If
Loop
Es gibt jede Menge Scripte, die immer nur innerhalb der ersten 15 Felder schreiben.
Lesen ist kein Problem, es werden derzeit 25 Felder gelesen.
Aber die 25 Felder zurückzuschreiben scheint nicht zu funktionieren,
I.d.R. ist ab dem 15 Feld immer ein Error.
Ab "PostalCode" geht die Loop in Error....
Daten werden aus CSV gelesen
Hat einer eine Idee?
Danke Joachim
' Datei Kopfzeile einlesen:
zeile1 = infos.ReadLine
' Datei Zeilenweise einlesen:
Do until infos.AtEndOfStream
' eine Zeile einlesen
zeile = infos.ReadLine
Errorcount=0
' Informationen durch Semikola splitten
details = Split(zeile, ";")
' Verbindung zu Userkonto aufnehmen und flags setzen
objCommand.CommandText = "SELECT distinguishedName FROM 'LDAP:DC=Domain,DC=com'" & "WHERE samAccountName = '" & Trim(details(0)) &"'"
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
strDist = "LDAP:" & objRecordSet.Fields("distinguishedName").Value
Set oUser = GetObject(strDist)
errortext= details(0)
test= details(1)
if test = "FALSCH" then
Put_Item "sn", details(2)
Put_Item "GivenName", details(3)
Put_Item "DisplayName", details(4)
'Achtung Beschreibenden Infos
outString = details(5) & ";"
outString = outString & details(6) & ";"
outString = outString & details(7) & ";"
outString = outString & details(8) & ";"
outString = outString & details(9) & ";"
outString = outString & details(10) &";"
Put_Item "Description", outString
Put_Item "physicalDeliveryOfficeName", details(12)
Put_Item "telephoneNumber", details(13)
Put_Item "StreetAddress", details(14)
'Put_Item "PostalCode", details(15)
'Put_Item "l", details(16)
'Put_Item "st", details(17)
'Put_Item "Mobil", details(18)
'Put_Item "facsimileTelephoneNumber", details(19)
'Put_Item "department", details(20)
'Put_Item "Company", details(21)
'Put_Item "pager", details(25)
If Errorcount = 1 Then
ErrorFile.WriteLine errortext
WScript.Echo "Fehler beim Einspielen"
else
oUser.setinfo
End IF
End If
Loop
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 160252
Url: https://administrator.de/contentid/160252
Ausgedruckt am: 26.11.2024 um 09:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo Hubinger!
Hat "ein Error" vielleicht auch ein wenig erklärenden Text dabei?
Für Code bietet das Forum eine eigene smöglichkeit - damit wäre es dann einfacher, sich auf Deine Zeile
zu beziehen (nämlich per Zeilennummer); nach dieser Zeile könntest du nämlich zB eine Zeile der Art
einfügen (und dann sinnvoller Weise das Script über "
Grüße
bastla
P.S.: Viele hier (mich eingeschlossen) begrüßen es, begrüßt zu werden ...
Hat "ein Error" vielleicht auch ein wenig erklärenden Text dabei?
Für Code bietet das Forum eine eigene smöglichkeit - damit wäre es dann einfacher, sich auf Deine Zeile
details = Split(zeile, ";")
WScript.Echo details(0) & vbTab & UBound(details)
cscript
" starten), um damit dokumentieren zu können, wie viele Felder aus der jeweiligen Zeile durch das Splitten entstanden sind (falls dort ein Wert < 15 stünde, hättst Du bereits eine Erklärung) ...Grüße
bastla
P.S.: Viele hier (mich eingeschlossen) begrüßen es, begrüßt zu werden ...