MDA-Andy 10 Geschrieben 22. Februar 2007 Melden Teilen Geschrieben 22. Februar 2007 Hallo, ich habe ein Script was mir die User Informationen wie z.B. Telefonnummer, Faxnummer, Titel, Mobilnummer in ActiveDirectory "reinschiebt". Die Daten kommen aus einer Excel-Tabelle die ich dann als CSV speichere und abarbeite. Nun möchte ich wenn z.B. für Mobilnummer nichts eingetragen ist, die Zeile in meinem Script überspringen, weiß aber nicht wie ich das machen soll. Hat jemand eine Idee? Hier der CodeAusschnitt: ~~~snip~~~ dateiname = "c:\temp\ad\users-sig-test.txt" ' Userliste (Datei) öffnen Set fs = CreateObject("Scripting.FileSystemObject") If Not fs.FileExists(dateiname) Then MsgBox "Die Benutzerliste existiert nicht!" WScript.Quit End If Set infos = fs.OpenTextFile(dateiname) ' Protokolldatei öffnen Set Output = fs.CreateTextFile(LogSignature, True) ' Datei Zeilenweise einlesen: Do until infos.AtEndOfStream ' eine Zeile einlesen zeile = infos.ReadLine ' Informationen durch Semikola splitten details = Split(zeile, ";") ' Verbindung zu Userkonto aufnehmen und flags setzen 'On Error Resume Next set dso = GetObject("LDAP:") set computer = dso.OpenDSObject("LDAP://cn=" & Trim(details(0)) & ",ou=users,ou=XXX,dc=XXX,dc=XXXXX,dc=com", "XXXXX", "XXXXX", ADS_USE_ENCRYPTION OR ADS_SECURE_AUTHENTICATION) 'set computer = GetObject("WinNT://XXXX,computer") 'Set konto = computer.GetObject("user", Trim(details(0))) On Error Resume Next computer.Put "telephoneNumber", details(1) computer.Put "facsimileTelephoneNumber", details(2) hier möchte ich die Zeile überspringen wenn details(3) leer ist computer.Put "mobile", "Mobil: " & details(3) computer.Put "Title", details(4) If Err.number = 0 Then WriteLog details(0) & " Telefonnummer = " & details(1) writeLog details(0) & " Faxnummer = " & details(2) writeLog details(0) & " Mobil = " & details(3) writeLog details(0) & " Title = " & details(4) writeLog "~~~" computer.Setinfo Else WriteLog details(0) & " Fehler aufgetreten! " End IF Loop ~~~snip~~~ Grüße, Andreas Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 22. Februar 2007 Melden Teilen Geschrieben 22. Februar 2007 Z.B. so? if details(3)<>"" then computer.Put "mobile", "Mobil: " & details(3) EDIT: Ggf. trim(details(3)) ... damit evtl. vorhandene Leerzeichen ignoriert werden Zitieren Link zu diesem Kommentar
MDA-Andy 10 Geschrieben 22. Februar 2007 Autor Melden Teilen Geschrieben 22. Februar 2007 Hi, das sieht gut aus. Und wenn dann details(3) leer ist wird die nächste Zeile abgearbeitet? So einfach ist das? Das wär cool. Danke! werd's ausprobieren! Gruß, Andreas Zitieren Link zu diesem Kommentar
MDA-Andy 10 Geschrieben 5. März 2007 Autor Melden Teilen Geschrieben 5. März 2007 Eine Frage noch: wie kan ich einen Eintrag löschen, also computer.Delete "mobile" oder computer.Remove "mobile" funktioniert nicht. Gruß, Andreas Zitieren Link zu diesem Kommentar
MDA-Andy 10 Geschrieben 5. März 2007 Autor Melden Teilen Geschrieben 5. März 2007 Hab' schon: computer.PutEx ADS_PROPERTY_CLEAR, "telephoneNumber", 0 sorry für den Post Gruß, Andreas Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.