4 Replies Latest reply on Jul 2, 2012 2:24 AM by Ratzratz

    CallScript-Befehl

    Ratzratz Expert
      Hallo Zusammen,

      ich will auf einer XP-Maschine (also alles komplett 32-Bit) per eScript den Befehl
      CallScript('%ProgramFilesDir%\Microsoft Office\Office14\OSPP.VBS /duserops')

      ausführen lassen.
      Er tut jedoch nicht das was er soll.
      Stattdessen kommt in der NISRV....LOG Folgendes:
      --- Schnipp ---
      17:10:37.681 2        ---->Starting installation of "New eScript Package"
      17:10:37.681 1         RegValue 'ProgramFilesDir' resolved as 'C:\Programme'

      17:10:37.681 2        -> CallScript('C:\Programme\Microsoft Office\Office14\OSPP.VBS /duserops')/TS
      17:10:37.681 2         xniTools: No valid extension for Script FileName [.vbs /duserops].
      17:10:37.681 2         xniTools: OLE has been uninitialized
      17:10:37.681 0         xniTools: Script execution thread has terminated
      17:10:37.681 0        ExR status report is disabled for New eScript Package
      17:10:37.697 2        xniFPS: '{C24E8B77-8780-4542-A34D-13C2C73B1928}' is installed

      17:10:37.697 2        ---->Installation of New eScript Package complete.
      --- Schnapp ---

      Offensichtlich wird der Parameter "/duserops" fälschicherweise nicht als Parameter interpretiert, sondern als Teil der Dateierweiterung, was natürlich scheitern muß.


      Wenn ich nämlich nur das ausführe:
      CallScript('%ProgramFilesDir%\Microsoft Office\Office14\OSPP.VBS')

      Also ohne den Parameter "/duserops", erscheint in der NISRV....LOG Folgendes:
      --- Schnipp ---
      17:23:50.093 2        ---->Starting installation of "New eScript Package"
      17:23:50.093 1         RegValue 'ProgramFilesDir' resolved as 'C:\Programme'

      17:23:50.093 2        -> CallScript('C:\Programme\Microsoft Office\Office14\OSPP.VBS')/TS
      17:23:50.108 1         xniTools: Creating Instance of ScriptEngine (VBScript)
      17:23:50.187 1         xniTools: Reading external Script C:\Programme\Microsoft Office\Office14\OSPP.VBS
      17:23:50.202 0         xniTools: Parsing ScriptFile C:\Programme\Microsoft Office\Office14\OSPP.VBS
      17:23:50.202 0         xniTools: Launching ScriptEngine...
      17:23:50.218 1         xniTools: Normal Termination of external Script.
      17:23:50.218 1         xniTools: Releasing ScriptEngine COM-Object.
      17:23:50.218 2         xniTools: OLE has been uninitialized
      17:23:50.218 0         xniTools: Script execution thread has terminated
      17:23:50.218 0        ExR status report is disabled for New eScript Package
      17:23:50.218 2        xniFPS: '{C24E8B77-8780-4542-A34D-13C2C73B1928}' is installed

      17:23:50.218 2        ---->Installation of New eScript Package complete.
      --- Schnapp ---

      Hier meckert er nicht mehr, daß er die Erweiterung nicht kennt.

      Kann es wirklich sein, daß CallScript keine Parameterübergabe an ein VBSkript zulässt?
      Es dürften doch ca. 90% aller Skripte Übergabeparameter brauchen.

      Gruß
      M. Metzger
        • 1. Re: CallScript-Befehl
          Michi Expert
          Hi,

          Hast Du es schonmal so versucht?
          "%ProgramFilesDir%\Microsoft Office\Office14\OSPP.VBS" /duserops

          Gruß
          Michi
          • 2. Re: CallScript-Befehl
            Klaus Salger Expert
            Ja, das kann schon sein.

            So richtig praktisch finde ich das auch nicht aber das war schon immer so.
            Die Parameterübergabe läuft bei Callscript in beide Richtungen ausschließlich über NetInstall-Variablen. Im Script kann man dazu NiSetVar und NiGetVar verwenden, im NetInstall-Script kann man wie üblich auf die Variablen zugreifen.

            Wenn man lieber Parameter per Kommandozeile übergeben möchte und auf die Übergabe von Ergebnissen über die NetInstall-Variablen verzichten kann, dann bietet sich ein execute mit cscript xx.vbs /parameter an.

            Ciao
              Klaus
            • 3. Re: CallScript-Befehl
              Klaus Salger Expert


              Kann es wirklich sein, daß CallScript keine Parameterübergabe an ein VBSkript zulässt?



              Ja, das kann schon sein.

              So richtig praktisch finde ich das auch nicht aber das war schon immer so.
              Die Parameterübergabe läuft bei Callscript in beide Richtungen ausschließlich über NetInstall-Variablen. Im Script kann man dazu NiSetVar und NiGetVar verwenden, im NetInstall-Script kann man wie üblich auf die Variablen zugreifen.

              Wenn man lieber Parameter per Kommandozeile übergeben möchte und auf die Übergabe von Ergebnissen über die NetInstall-Variablen verzichten kann, dann bietet sich ein execute mit cscript xx.vbs /parameter an.

              Ciao
                Klaus
              • 4. Re: CallScript-Befehl
                Ratzratz Expert
                Hallo Klaus,

                ich mir schon gedacht, daß das grundsätzlich nicht geht, zumal in der Hilfe dieser CallScript-Befehl auch nur ohne Parameter erklärt wird.

                Ich mache es jetzt per "Execute('%WINSYSDIR%\cscript.exe "%ProgramFilesDir%\Microsoft Office\Office14\OSPP.VBS" /duserops')/?/TS".
                Das funktioniert.

                Trotzdem Danke.

                Gruß
                M. Metzger