Windows Dienste, VBS, und WMI, ADSI, ODBC usw

Hallo allseits,

nachdem ich wie üblich stundenlang bei MS rumrecherchiert, und nur warme Luft gefunden habe, folgende Frage an die Community

  • ich habe einen umfangreichen Satz Scripte (VBS Code, auszufühen über cscript.exe), die ausgiebig Gebrauch machen von Interfaces wie WMI, ADSI und ODBC. Nun soll ein Teil der Scripte von einem Hintergrunddienst aus angeschoben werden, der noch zu programmieren ist, Tests sind also im Moment noch nicht möglich.

Trotzdem soll ich Kosten- und Zeitschätzungen abgeben.

Streit hat sich entzündet bei der Frage, ob meine Scripe, wenn sie im Hintergrund laufen, überhaupt funktionieren werden. Trivialquatsch mal außen vor gelassen (keine interaktiven Controls wie Messageboxen verwenden) … ist der Kern der Frage, ob

  • vbs scripte überhaupt im Hintergrund angeschoben werden können, oder ob sie nur interaktiv ausgeführt werden können
  • die genannten Interfaces im Hintergrund überhaupt zur Verfügung stehen

Rahmenbedingungen: die Scripte kontrollieren nur lokale Ressourcen, ein Remote-Zugriff über Netz auf eine andere Maschine ist nicht notwendig. Ich weiß aber weder, ob der CScript Interpreter im Hintergrund läuft, noch wo ich nachlesen kann, welche Interfaces ihm dann noch zur Verfügung stehen und welche nicht.

Hat jemand Erfahrungen mit diesen Themen? Die Frage ist, ob die Scripte in eine andere Sprache umgesetzt werden müssen (aber die Interfaces funktionieren würden, so dass das Know-How aus den Scripten verwendet werden kann), oder ob auch die Interfaces nicht verwendbar sind, so dass der Wechsel auf eine andere Sprache das Problem auch nicht lösen würde, und man statt dessen alles von Grund auf neu erfinden muss.

Wer weiss was?

Armin

Hallo Armin!

Nun soll ein Teil der
Scripte von einem Hintergrunddienst aus angeschoben werden,

Ist da so ein normaler Windows Hintergrunddienst gemeint?

  • vbs scripte überhaupt im Hintergrund angeschoben werden
    können, oder ob sie nur interaktiv ausgeführt werden können
  • die genannten Interfaces im Hintergrund überhaupt zur
    Verfügung stehen

Meiner Meinung nach müsste das funktionieren. Du startest von deinem Hintergrundprozess einfach eine Instanz von cscript.exe und als Argument übergibst du die vbs-Datei, die der Interpreter dann abarbeitet. Und ob cscript nun von Kommandozeile oder vom Hintergrundprozess gestartet wird, sollte egal sein.

Aber Erfahrung damit habe ich eigentlich nicht. Wenn du willst, kann ich in den nächsten Tagen aber ausprobieren, ob’s funktioniert.

mfg
christoph