2009-02-28 4 views
2

eine Aufgabe auf meiner Hand erfordert, dass ich eine ASP-Anwendung von einem Server auf einen anderen verschieben. Dazu benötige ich zwei Befehlszeilen-Tools, um die folgenden Informationen zu kennen.Erhalten Sie eine Liste der Com-Objekte in ASP

  1. Ruft die Liste der in diesem Asp-Projekt verwendeten com-Objekte ab.
  2. Holen Sie sich die Liste der registrierten com-Objekte in meinem bestehenden Server.

Irgendeine Idee?

+0

Was wäre eine Liste von 100.000 COM-Objekten, die auf Ihrem Server registriert sind, gut, wenn Sie nur ein paar von ihnen wissen müssen? – Tomalak

+0

Wahr, 100 von COM-Objekten sind wirklich nicht nützlich für mich per se. Aber ich würde zumindest eine Liste haben, die ich verwenden kann, um zu wissen, ob ein COM-Objekt in der Hand bereits registriert ist. – kalyang

+0

Registrieren Sie es einfach erneut. Sie werden nichts schaden, wenn es bereits registriert wurde. – Tomalak

Antwort

2

Eine schnelle Suche nach "CreateObject" sollte einige COM-Objekte aus VBScript in den ASP-Seiten erstellt werden. Sie sollten auch die global.asa für alle Objekttags überprüfen, andernfalls werden COM-Objekte instanziiert. Wenn Sie auch serverseitiges JavaScript haben, sollten Sie auch nach "ActiveXObject" suchen.

Ich erwarte, dass Sie diese Informationen mit Kommandozeilen-Tools wie grep etc extrahieren könnte, aber wenn man diese über tun und immer wieder auf verschiedene Setups dann wäre es fast sicher schneller sein in VS.NET oder so etwas wie Agent Ransack zu tun.

+0

Vielen Dank, Wie erkenne ich, ob eine COM-Komponente bereits registriert ist. Oder rufen Sie eine Liste der COM-Komponenten ab, die auf dem Server registriert sind. – kalyang

+0

Sie können versuchen, das Objekt zu erstellen und sehen, ob das funktioniert oder nicht, um zu sehen, ob es registriert ist. – svinto

1

Wie @andynormancx vorgeschlagen, suchen Sie den Code für die entsprechenden Aufrufe:

  • Create
  • GetObject
  • Objekt-Tags in global.asa
  • ActiveXObject (von Javascript)

Sie können WMI-Objekte verwenden, um eine Liste aller COM-Objekte auf dem vorhandenen Server abzurufen. Dies wird wahrscheinlich nicht sehr nützlich sein, aber vielleicht tun Sie dies auf Ihrem neuen Server und machen dann einen Unterschied zwischen den beiden, um Unterschiede zu identifizieren, die wichtig sein könnten. Ein Beispielskript zum Abrufen der Objektliste ist here:

Verwandte Themen