hubinger
Goto Top

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

Content-Key: 160252

Url: https://administrator.de/contentid/160252

Printed on: April 19, 2024 at 10:04 o'clock

Member: bastla
bastla Feb 07, 2011 at 10:44:42 (UTC)
Goto Top
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
details = Split(zeile, ";")
zu beziehen (nämlich per Zeilennummer); nach dieser Zeile könntest du nämlich zB eine Zeile der Art
WScript.Echo details(0) & vbTab & UBound(details)
einfügen (und dann sinnvoller Weise das Script über "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 ...
Member: Hubinger
Hubinger Feb 07, 2011 at 14:21:10 (UTC)
Goto Top
Hallo Bastler

vielen Dank für Deinen Hinweis,
Ich wollte niemanden auf die Füßetreten. Also an alle Sorry...

Ok, ich habe nach dem letzten put_item noch eine "echozeile eingefügt, die ein Errorlog weiter bedient.
Siehe da auf einmal funktioniert auch das Felderupdate mit setinfo.

Danke für denTip und weiterhin viel Spaß biem Scripten

Joachim
Member: Hubinger
Hubinger Feb 07, 2011 at 14:43:32 (UTC)
Goto Top
Hallo Zusammen:

Fehler liegt hier:

Put_Item "Mobil", details(18)
es muss heißen:

Put_Item "Mobile", details(18)


Gruß
Joachim