Ich räume gerade mein IPS etwas auf… man kennt das ja mit shit in - shit out und ich möchte für die neue Version alten Ballast abwerfen etc.
Was ich über die Suche und in den bestehenden Scriptsammlungen nicht fand und hierbei helfen würde…
Weiss jemand wie man alle Script nach dem „Variable existiert nicht“ Tag durchsuchen kann? (Ist ja nur ein Kommentar und mit Suchen in allen Dateien wird es nicht gefunden. Entsprechende Scripte werfen bei der Ausführung einen Fehler aber das wäre hier nicht die Frage)?
Weiss jemand, wie ich Code der bei Events hinterlegt ist durchsuchen kann? Zum einen nach der selben Sache wie im vorhergehenden Punkt und zum anderen um festzustellen ob nbsp nicht mehr existierende Scripte aufgerufen werden etc. also eine Art Fehlerauswertung?
Ist auch richtig; da erst wenn du den Code in der Konsole öffnest, Diese nach den IDs und dem dazugehörigen Objekt im Baum sucht.
Hast du das Script also nicht im Editor geöffnet, nachdem es das Objekt nicht mehr gab, steht noch immer der ‚alte‘ falsche Kommentar dahinter.
Wobei du dann in $search dann einfach das reinscheibst, wonach er suchen soll.
Ob es dort eine Zahl gibt welche eine InstanzID sein könnte, und ob es die überhaupt gibt… ist schon aufwändiger.
@Bayaro
Super Script, vielen Dank! Die entsprechenden Schritte laufen aber schon routinemässig fast täglich bei mir und sind halt keine Lösung für die beiden Punkte.
@Michael
Hast Recht, anderer Anwendungsfall und deshalb über die Suche nicht gefunden aber die Lösung passt zu meinem Punkt Nr.2 natürlich auch und ist eine Lösung, Merci beaucoup!
Fall Nr.1 und eigentlich auch der wirkliche Knackpunkt für Fall Nr. 2 nämlich feststellen, ob eine ID (Script, Variable etc.) effektiv noch existiert hab ich mal etwas gesehen, da muss ich vielleicht nochmals suchen im Forum. Das Vorgehen der Konsole mit dem Kommentar ist mir klar und dementsprechend muss es ja eine Routine geben, die die Existenz prüft und das geht vermutlich sehr einfach. Schwieriger ist es wohl nbsp die Events nach ID’s zu parsen und an dieses existenzprüfteil zu übergeben und die Faulen Eier anzuzeigen… das wäre aber cool und ein Tipp für ein Script das man nbsp täglich laufen lassen kann (wie Threadprüfung) und Altlasten meldet. Ich denke so was lässt sich mit mittlerem Aufwand machen, wenn aber einer so was schon in der Schatzkiste hätte… :-)))))
So ein Skript wäre gar nicht so wild, aber da würden alle 5stelligen Zahlen als Fehler ausgespuckt werden, weil alle Fälle kann man wohl schlecht beachten. Davor oder danach ein + oder - wäre ja noch einfach. Aber da gibt es sicher viiiiiele Fälle, wo eine 5stellige Zahl keine ObjektID ist.
Von daher, meiner Meinung nach, eher ein schlechter Weg…
ok… vielleicht eine subjektive Geschichte und je nach Installation anders… aber in meinem Scripten setze ich glaube ich nirgends oder vielleicht ganz selten einmal etwas auf einen 5 stelligen Wert, fix über ein Script.
Dann will ich das mal nicht vorenthalten. Ein Script, dass jeglichen Event-Code ausliest der in IPS vorhanden ist und nach ID’s durchsucht, die es in IPS nicht mehr gibt. Der zweite Schritt, ein Script das sämtliche IPS-Scripts durchsucht und nach dem ähnlichen Muster nach nicht existierenden ID’s durchsucht dürfte damit noch ein Kinderspiel sein. Das einzige was man da für das Pattern sicher noch ergänzen sollte ist IPS_Sleep ausfiltern, das ist realistisch das einige hier eine 5 stellige Zahl dahinter setzen. Publizier ich dann sonst in ein paar Stunden auch noch. Bei mir waren alle gemeldeten Einträge (leider doch fast 25:-)pfui pfui) tatsächliche Fehler und keine fixen Werte. Wer aber viele fixe Werte setzt, der wird halt ein paar Fehlerwarnung erhalten die halt keine Fehler sind. Bei den Events hat das wohl kaum einer, bei der Durchsuchung aller Scripts könnte das dann eher passieren.(Anzeichen dafür wenn einer im Scripteditor öfters den grünen Kommentar anstatt bei richtigen Objekt-Ids bei fixen werten sieht)
Das du keinen Fehler erhalten hast… könnte daran liegen, dass es noch einen Fehler im Script gab. Es wurde von jedem Script immer nur die erste vorhandene Variable ausgewertet und nicht alle in dem Script vorhandenen. Hier folgt nun das richtige Script, dachte bei mir irgendwie läuft das Teil schon mega schnell für so viele Einträge… mit ein paar Querchecks wars dann klar. Zudem ist die Version noch erweitert um die Location, sprich es wird angezeigt wo sich das Objekt befindet wo eine fehlende/falsche ID vermutet wird. Einfach ausführen. Falls jemand doch falsch identifizierte Variablen hat oder solche die sehr viel vorkommen, kann er diese unter if($val2!="") einfach mit ausschliessen also zbp if($val2!=""&&$val2!=„12231“)
Ok… nun kriegst aber sicher auch die ein paar Ergebnisse Chris… Das wäre fast unmöglich, dass wenn alle Scripts durchsucht werden du gaaar keine Fehleinträge hast. Bei mir hat der erste Teil bereits mit dem durchsuchen der Eventscript sehr geholfen, teils waren es Tippfehler bei der Variablen ID, teils Leichen die noch weg müssen.
Noch kurz zu dem zweiten Teil wo alle Scripts durchsucht werden. Bei mir kamen am Anfang einige Ergebnisse, das ist richtig. Ich habe deswegen einige Verzeichnisse ausgeschlossen bei der Suche, dass kann man über die Location die ich mitgebe gut machen. Als Beispiel habe ich eine Art Papierkorb… das ist der Ordner XXRECYCLED und da hat es natürlich Variablen/IDs drin, die gelöscht sind und er mir nicht anzeigen muss, oder dann gibt es den Ordner Program wo die eigentlichen Scripts von den grossen Meistern drin sind… die schliess ich auch mal aus. Kann man aber immer noch später prüfen. Hab damit auch schon einige Fehler aussortiert.
Ja, das Skript wirft mir leider Seitenweise Müll raus Alles entweder 5stellige Zahlen in URLs, Port-Nummern, Teile einer Instanzid (diese langen in geschweiften Klammern), Postleitzahlen, Beispiel-IDs in Install-Skripten, Beispiel-IDs in Beispiel-Skripten, …
Aber nicht ein echter Fehler
Sehr aufwendig in meinem Fall, weil eben hunderte „Falschmeldungen“ kommen, aber immerhin weiß ich jetzt, dass alle meine Sachen OK sind Aber für öfter ist das nichts g Da müsste doch noch einiges ausgeschlossen werden, um die Falschmeldungen wenigstens deutlich zu reduzieren Entweder durch Angabe der Parent-IDs die ausgelassen werden sollen, oder irgendwie so die Richtung.
Lustig Chris bei mir genau umgekehrt,wenn ich die Verzeichnisse wie meinen Papierkorb und Program sowie Google Charts auslasse kommen etwa 30 Meldungen. Die putz ich grad durch. Wenn du zbsp die ganzen Webscripts in nem Ordner sortiert hast kannst du den auslassen. Sonst gibt’s nur eins, das Pattern erweitern oder das ganze Ignorieren. die große Aktion mach ich auch nur einmalig, die Eventpruefung lass ich mal wöchentlich drin.
Finde ich für eine manuelle Kontrolle sehr praktisch, trotz den unvermeidlichen Fehlern.
Mal ganz faul: Eine Funktion um eben z.B. IPS_Sleep(XXXXX) auszufiltern wäre cool.
So Sachen müsste man dann wohl mit preg_match (RegEx) rausfiltern. Auch so „Einschränkungen“, ob davor oder danach ein + oder - ist, oder davor oder danach allgemein noch direkt was steht, weil das ist dann meist eine URL oder sonstwas.
Aber das ist mir zuviel Aufwand für quasi nichts. Also überlasse ich das euch
Geht mir auch so. Für einmal pro Jahr lohnt sich das für mich nicht.
Bei mir ist es recht offensichtlich, welches Falschmeldungen sind.
Hab aber immerhin einen echten Fehler gefunden, der hätte mich mal überraschen können, weil er eine Fehlfunktion hätte melden sollen im Ernstfall. Hat sich insofern schon gelohnt.