Verwendung von Scripts in Softgrid


Übersetzung aus dem Softgrid Team Blog

Wir haben oft fragen wie sich Scripts in Softgrid nutzen lassen. Darum posten wir einige grundlegende Vorgehensweisen, damit sie starten können. Wir haben die Möglichkeit eine unbegrenzte Anzahl und beliebige Scriptsprachen innerhalb einer OSD Datei auszuführen. Und diese Scripts können sehr hilfreich sein, Begrenzungen von Anwendunen zu umgehen oder spezielle Konfigurationen von Anwendungen einzurichten damit diese ordnungsgemäß ausgeführt werden. 

Scripts können in vielen möglichen Sprachen geschrieben werden und werden von der OSD einer Softgrid Anwendung dem Client übergeben und ausgeführt, wenn dieser den nötigen Scriptinterpreter installiert hat. Firmen haben möglicherweise schon existierende Scripts die in Visual Basic, Perl, .bat Dateien, .cmd Dateien, usw. geschrieben, die für die Ausführung ihrer Anwendungen nötig sind. Wenn sie die grundlegenden Regeln für die Scripterstellung beachten, können diese in einer OSD Datei verwendet werden.

Die folgenden Fragen in Bezug auf "Wenn", "Wo" und "Wie" ein Script ausgeführt wrid, müssen beantwortet sein bevor das Script in die OSD Datei eingefügt werden kann.

Alle Scripte müssen zwischen die <DEPENDENCY> Tags in der OSD eingefügt werden. Eine Anweisung kann auf eine existierende Scriptdatei anhand ihres Dateinamens verweisen, oder sie können die Anweisungen in die Script Section direkt eintragen.

WANN
Eine OSD kann Scripte an unterschiedlichen Stellen während des Starts ober bei  Beendigung einer Softgridanwendung ausführen.
Die erste Einstellung in den Scriptelementen bestimmt den Ausführungszeitpunkt:

SCRIPT TIMING and EVENT:
• PRE STREAM: Bevor die Anwendung auf den Client gestreamt wird. (Zum Beispiel wenn der Benutzer eine VPN Verbindung zu einem Softgrid Server herstellen muss, um das Paket streamen zu können bevor es ausgeführt werden kann.)

• POST STREAM: Wird ausgeführt wenn die Anwendung für den User genehmigt und gestreamt wurde, aber bevor die virtuelle Anwendungsumgebung hergestellt wird.

• PRE LAUNCH: Ausführung nach Herstellung der virtuellen Umgebung, aber bevor die Anwendung gestartet wurde.

• POST LAUNCH: Ausführung wenn die Anwendung gestartet wurde.

• POST SHUTDOWN: Wenn die Anwendung beendet wurde, die virtuelle Umgebung aber noch existiert. Hier lassen sich die Scripte starten um die Umgebung wieder aufzuräumen, (Temporäre Dateien löschen) oder Konfigurationsdateien  wieder zurücksetzen.

WO
Die nächste Angabe muss definieren "wo" das Script ablaufen soll. Es gibt nur zwei Optionen, entweder innerhalb oder außerhalb der virtuellen Umgebung.environment or outside.

Protect:
• Protect=True: Erlaubt dem Script auf die virtuelle Umgebung zuzugreifen. Die Ausführung innerhalb der virtuellen Umgebung kann für die Fehlersuche sehr nützlich sein.

• Protect=False: Das Script läuft auf dem Client außerhalb der virtuellen Umgebung. Hiermit lassen sich Dateien auf den Client kopieren, ohne die virtuelle Umgebung zu benutzen.

WIE
Der nächste Eintrag bestimmt "wie" das Script ausgeführt wird. Die Einstellungen bestimmen wie lange dieses Script ausgeführt werden darf und ob auf die Beendigung des Scripts gewartet wird. Der Eintrag "TIMEOUT" bestimmt die maximale Ausführungszeit. Aus Gründen der Rückwartskompatibilität kann der "WAIT" Eintrag auch in SoftGrid 4.x verwendet werden. Ein Script das asynchron ausgeführt wird jeden einzelnen Schritt des Scripts ausführen ohne auf die Beendigung des vorherigen Schrittes zu warten.

TIMEOUT:
• TIMEOUT=xx: Der Client wartet xx Sekunden auf die Beedigung bevor er einen Fehler zurückgibt.

• TIMEOUT=0: Der Client wartet bis zum "jüngsten Tag" auf die Beendigung.

Wait:
• Wait=False: Fährt in der Ausführung fort ohne die Beendigung des Scriptes abzuwarten

• Wait=True: Wartet bis zur Beendigung des Scriptes, bevor das nächste Scriptelement gestartet wird.

Beispiel 1
Das folgende Beispiel benutzt das SCRIPTBODY tag um als erstes den Server mit seiner IP Adresse anzupingen. Danach löscht es die Laufwerkszuordnung und erstellt eine Neue mit dem gleichen Laufwerksbuchstaben, der zuvor gelöscht wurde.

<DEPENDENCY>
<SCRIPT TIMING="PRE" EVENT="LAUNCH" WAIT="TRUE" PROTECT="TRUE">
<SCRIPTBODY> @echo on \n
ping 192.168.100.100 \n
net use x: /delete /y \n
net use x: \\\\ServerName\\Achieve \n
net use y: /delete /y \n
net use y: \\\\ServerName\\Achieve\\claims\\Bethany \n
</SCRIPTBODY>
</SCRIPT>
</DEPENDENCY>

Hinweis: Die Angabe "\n" bedeutet, das in der nächsten Zeile noch ein Befehl steht.

Beispiel 2
Das folgende Beispiel verwendet das SCRIPTBODY Tag um als erstes ein Laufwerk mit einer Serverfreigabe zu verbinden. Danach ruft es eine existierende .cmd Datei auf diesem Laufwerk auf. Als nächstes wird das Programm editini.exe von einem Neztlaufwerk aufgerufen und fügt einen Pfad zur word.ini hinzu.

<DEPENDENCY>
<SCRIPT EVENT="LAUNCH" TIMING="PRE" PROTECT="TRUE" WAIT="TRUE">
<SCRIPTBODY>
net use k: \\\\w2k-pdc\\netlogon \n
CALL k:\\usr-w2k.cmd \n
\\\\sft-softgrid\\shr\\editini.exe c:\\word\\word.ini "FileLocations" TempPath c:\\temp \n
</SCRIPTBODY>
</SCRIPT>
</DEPENDENCY>

Beispiel 3
Das folgende Beispiel verwendet die Umgebungsvariable %SFT_MNT% um die Position des aktuellen virtuellen Laufwerks zu ermitteln und die Anwendung proflwiz.exe aufzurufen. Der absolute Pfad wird hier verwendet, weil davon auszugehen ist, das der Programmspeicherort nicht Teil der auf dem Client gesetzen Pfadvariablen ist.

<DEPENDENCY>
<SCRIPT TIMING="PRE" EVENT="LAUNCH" WAIT="TRUE" PROTECT="TRUE">
<SCRIPTBODY>%SFT_MNT%\\OfficeXP\\Office10\\proflwiz.exe</SCRIPTBODY>
</SCRIPT>
</DEPENDENCY>

Wir hoffen das sie die Informationen nützlich finden und wie immer, wenn Sie Vorschläge für weitere Beiträge haben, lassen Sie es uns wissen.

– The Microsoft SoftGrid Team
translated to German by Frank Fette

Mehr Infos zu OSD-Scripting und weitere Beispiele in der Softgrider FAQ

 

Technorati tags: , ,
Advertisements
Dieser Beitrag wurde unter Softgrid Tip veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s