Zum Skript "Computerinfo.vbs"

Ziel bzw. Aufgabe war es ein Skript zu schreiben, das in der Laage ist die Hardware (und eigentlich auch die Software) von 50 Rechnern - oder mehr - zu inventarisieren, und diese Informationen in eine Excel Tabelle einzutragen. 
Dazu werden in die erste Spalte dieser Tabelle smtliche IP's von Rechnern eingetragen, die abgefragt werden sollen. (Wre auch cool, wenn das Skript zu beginn ermitteln wrde welche Rechner alle "da sind", und dann nur diese in die Tabelle schreibt.)
Dann wird Tabelle gespeichert, und das Skript gestartet. Dadurch soll jetzt sequentiell jeder Rechner in der Liste mittels WQL Queries abgefragt werden, und die entsprechenden Ifos in die Tabelle eingetragen werden. Ich wollte hier eine gewisse Fehlertolerranz bezglich der Startzeile in der Tabelle bieten, und lasse deshalb die erste Zeile mit IP's ermitteln, und natrlich die Anzahl der Eintrge. Fr mich sieht diese Lsung ziemlich umstndlich programmiert aus, aber anders wusste ich mir nicht zu behelfen.
Nachdem der letzte Rechner abgefragt wurde, wird die Tabelle gespeichert, und man kann sich das Ergebnis anschauen.

Probleme:

Erstes Problem ist, dass es bei einer recht groen Anzahl von Maschinen recht lange dauert bis das Skript durchgelaufen ist. Ich habe mir schon berlegt, ob es diesbezglich vielleicht Sinn macht die Select Abfragen "abzuspecken". Also nichtmehr Select * from... sondern halt Select Name, Caption, etc. from ....   Der Anwender bekommt auerdem in dieser Zeit keinerlei Rckmeldung, ob das Skript noch luft, oder sich evtl. aufgehngt hat. Hier dachte ich mir, werde ich ein kleines Explorerfenster erscheinen lassen mit z.B. der Meldung: "Frage Informationen von Rechner 192.168.1.1 ab" Diese Meldung kann man dann aktualisieren wenn der Rechner 192.168.1.2 dran ist usw. Spart die Mhe mit einer Progress Bar (auch wenns da meines Wissens nach auch schon fertiges gibt), und wre meiner Meinung nach eine absolut akzeptable Statusmeldung.

Zweites Problem: Wenn ein Rechner nicht erreichbar ist (nicht eingeschaltet ...) dann stehen geich 2 Fehlermeldungen fr diesen Rechner im Eventlog (DCOM konnte mit diesem Rechner ... keine Verbindung aufnehmen). Hier will ich eine Funktion einbauen, die vorher berprft ob der Rechner existiert bzw. erreichbar ist. Yvonne Seibold hat ja schon auf meine Anfrage in der NG geantwortet, und ich werde es damit einfach mal ausprobieren.

Drittes Problem: Ich kann berhaupt nicht abschtzen wieviel Netzwerklast durch diese Art der Abfrage erzeugt wird, und ob das im Netzwerk unkritisch ist. Ich will schlielich nicht dafr verantwortlich sein ein Ganzes Netz lahm zu legen, oder einige rechner oder gar Server abstrzen zu lassen.

Viertes Problem: Das Skript ist in ziemlich kurzer Zeit entstanden. Deshalb ist es auch absolut starr. Mein Ziel ist es, das Skript etwas flexiebler zu programmieren. Wenn z.B. jetzt in einem Rechner 2 Netzwerkkarten eingebaut sind, dann verschieben sich logischerweise die Eintrge in der Tabelle. Dazu msste es eine Lsung geben.

5. Problem: Es ist laut eines Bekannten, der das Skript mal ausprobiert hat schon vorgekommen, dass trotz Erreichbarkeit, nur ca. die Hlfte aller Rechner abgefragt wurden, und die anderen erst beim 2. oder 3. Durchlauf des Skriptes. Ist es mglich, dass Rechner die am Login Screen stehen in dieser Hinsicht problematisch sind?
Auerdem kam neulich diese Fehlermeldung: Verbindung mit "\\blabal.com" konnte nicht hergestellt werden 
wegen "RPC: Aufruf wurde durch Aufgerufenen abgelehnt." 
Keine Ahnung was das bedeutet, hab aber auch noch nicht nachgeforscht.

6. kleines Problem, nach dem Abspeichern der Excel Tabelle. Da wird in Eigene Dateien einfach eine Datei RESUME.xlw erzeugt, die beim zweiten Aufruf des Skripts bewirkt, dass eine Messagebox kommt, ob die bereits vorhandene RESUME.xlw berschrieben werden soll. Was macht diese .xlw Datei eigentlich. Sieht fast wie ne Kopie meiner Tabelle aus, und kann gefahrlos gelscht werden. Ich denke das hat was mit der Set objWb = oExcel.WorkBooks.Open() Anweisung zu tun. .xlw klingt so nach Excel Work Book. Diesbezglich hatte ich aber auch noch keine Zeit nachzuforschen, und hab mit diesem "Bug" gelebt.

7. Wie am Anfang schon erwhnt sollte auch die Software inventarisiert werden. Als ich mit dem Skript angefanen habe wusste ich aber noch nicht wie ich das am besten lse, und habe es daher weggelassen. Dazu habe ich mittlerweile in der NG allerdings Ideen und Lsungen gefunden. Jetzt ist nur noch die Frage, wie ich das auf meiner Tabelle unter bringe. Die wird so schon ziemlich lange. Auf ne Datenbnk mchte ich eigentlich erstmal nicht umsteigen, auch wenn's evtl. die bessere Lsung ist. Aber mir geht es in erster Linie darum mich mit der Programmiererei zu befassen, und auch das zu verstehen was ich tue. Ich brauche also in diesem Fall nicht unbedingt eine mglichst perfekte Lsung.

