Eratum Geschrieben 5. Januar 2009 Geschrieben 5. Januar 2009 Servuz, ich bin gerade dabei unser AD mal ein wenig aufzuräumen. Dazu prüf ich u.a. ab wann sich der Client das letzte mal im AD gemeldet hat. Also mittels des "lastlogontimestamp". Das ganze läuft auch an sich. Nun aber folgendes Prob: Wenn ein hostname mal angelegt wurde, sich dazu aber nie ein Client am AD angemeldet hat, dann hat er diesen TimeStamp nicht und mein kleines VBScript läuft freilich in nen Fehler. Der Fehler tritt genau dann ein, wenn ich versuche das Attribut zu initialisieren: Set objDuration = Client.lastlogontimestamp Nun steh ich vor, der Frage, ob man irgendwie abprüfen kann, ob ein Attribut vorhanden/vergeben ist. Hat dazu jmd. eine Idee? Mir ist schon klar, dass ich das mit der StandardFehlerbehandlung umgehen könnte, aber ich denke, man könnte so ne Prüfung vlt mal wieder brauchen und von daher.... XD So long...MfG erratum Zitieren
NMeoS Geschrieben 5. Januar 2009 Geschrieben 5. Januar 2009 hi, ich kenne mich jetz mit vbs nicht aus, aber gibt es da nicht auch den "null"-wert, den du dann vielleicht abfragen könntest. in etwa so: if(Client.lastlogontimestamp != null) { Set objDuration = Client.lastlogontimestamp } MfG NMeoS Zitieren
Amstelchen Geschrieben 5. Januar 2009 Geschrieben 5. Januar 2009 könnte am ehesten klappen: IsNull(Client.lastlogontimestamp) könnte evtl. auch klappen: IsNothing(Client.lastlogontimestamp) könnte theoretisch true liefern, wenn leer: Client.lastlogontimestamp = "" alles ungetestet. s'Amstel Zitieren
NMeoS Geschrieben 5. Januar 2009 Geschrieben 5. Januar 2009 joa wie gesagt, ich kenn mich mit vbs nicht wirklich aus, wollte nur nen anstoß geben, welchen weg man da gehen könnte und scheint ja kein ganz verkehrter gewesen zu sein ^^ Zitieren
Eratum Geschrieben 6. Januar 2009 Autor Geschrieben 6. Januar 2009 Danke für die Antworten soweit. Das Problem an der Geschichte ist aber, dass in dem Moment wo ich abfrage (mit IsNull, IsNothing, o.ä.) schon versucht wird auf die Objekteigenschaft zuzugreifen, d.h. ich laufe sofort in nen Fehler: Laufzeitfehler in Microsoft VBScript: Objekt erforderlich: 'Client.lastlogontimestamp' Und was anderes ausser Standardfehlerbehandlung fällt mir im Moment auch nicht ein, aber wenn noch wer ne Idee hat, dann raus damit ^^ MfG Erratum Zitieren
Eratum Geschrieben 6. Januar 2009 Autor Geschrieben 6. Januar 2009 So ich probier's mit einem neuen Ansatz: Ist es möglich zu überprüfen ob ein Account im AD leer ist? Also ob der entsprechende Client schonmal angemeldet war? Ich werd mich mal in die tiefen von google begeben ^^ Aber wenn in der zwischenzeit jmd. einen Tip parat hat, nehm ich den auch gern an ^^ Zitieren
words_of_silence Geschrieben 6. Januar 2009 Geschrieben 6. Januar 2009 Hallo! Warum fängst du den Fehler nicht einfach um die entsprechende Zeile ab? err.Clear On Error Resume Next ... Hier der Zugriff auf die Eigenschaft ... If err.Number <> 0 Then ... irgendwas tun --> beispielsweise das Objekt Nothing setzen oder aus der Funktion aussteigen ... End If Bei Bedarf wieder Error leeren (err.Clear) und Fehlerignorierung abschalten (On Error GoTo 0). Gruß, wos Zitieren
Eratum Geschrieben 6. Januar 2009 Autor Geschrieben 6. Januar 2009 So hab ich's inzwischen auch gemacht, hatte aber auch aus eigenem Interesse (und dem wissen, dass ich es vlt nochmal brauchen kann) weiterhin über ne Lösung nachgedacht ^^ Zitieren
words_of_silence Geschrieben 6. Januar 2009 Geschrieben 6. Januar 2009 Denke nicht, dass es eine Alternative gibt, da du zumindest ohne weitere Unterstützung seitens einer AD - API o.Ä. immer auf den Fehler laufen wirst - ist der sog. Teufelskreis. :cool: Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.