MDA-Andy 10 Geschrieben 22. Februar 2007 Melden 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
Cybquest 36 Geschrieben 22. Februar 2007 Melden 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
MDA-Andy 10 Geschrieben 22. Februar 2007 Autor Melden 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
MDA-Andy 10 Geschrieben 5. März 2007 Autor Melden 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
MDA-Andy 10 Geschrieben 5. März 2007 Autor Melden Geschrieben 5. März 2007 Hab' schon: computer.PutEx ADS_PROPERTY_CLEAR, "telephoneNumber", 0 sorry für den Post Gruß, Andreas
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden