2010-12-30 5 views
0

Ich habe Probleme beim Zugriff auf Umgebungsvariablen in einer HTML-Seite. Ich muss eine Webanwendung (PHP) auf einer Citrix Server-Distribution ausführen. Was ich der folgende VBScript-Code auf meinem html Körper zu tun versucht:Lesen von Umgebungsvariablen mit VBScript oder ActiveX auf Citrix-Client

Set oShell = CreateObject("WScript.Shell") 
comp=oShell.ExpandEnvironmentStrings("%CLIENTNAME%") 

Es so lange funktioniert, wie ich mit meinem Admin-Konto anmelden (wegen der Skriptberechtigungen IE ausgeführt wird), aber wenn ich mit der Eingabe normales Benutzerkonto funktioniert es nicht sagen, dass es das Objekt nicht erstellen kann. Die traurige Sache ist, dass es nicht möglich ist, das normale Benutzerprofil zu ändern.

Weiß jemand einen anderen Weg, um sie zu bekommen? Es ist möglich, neue Software auf dem Computer zu installieren, aber es sollte von einer HTLM-Website aufgerufen werden. Also ich denke, wenn möglich wäre, eine Art von ActiveX oder Java-Applet zum Lesen dieser Umgebungsvariablen zu erstellen, aber wie ich neu auf ActiveX/Applets weiß ich nicht, ob ich eine Art von speziellen Setup für diese benötigen werde Berechtigungen.

Jede Hilfe wird mehr als willkommen sein! :)

Antwort

1

Wahrscheinlich die einfachste Möglichkeit wäre, Ihre App eine Zeichenfolge in der URL mit dem Clientnamen akzeptieren, dann Citrix übergeben, wenn die App gestartet wird (mit der %clientname% Variable).

+0

Hallo, das Problem ist, dass auf Citrix eine Anwendung bereits von einem Drittanbieter installiert ist. Es ruft nur eine statische URL auf, während Sie auf eine Schaltfläche klicken. Und diese URL ist meine Seite. Und es gibt keine Möglichkeit, dass sie die Anwendung so modifizieren, dass sie diesen Parameter liest und an den URL-Aufruf weiterleitet :( – fernandojsg

+0

Wenn sie nur eine URL übergeben, müsste sie nur einen Parameter hinzufügen, den Ihre App hat erkennt etwas wie: "http: //1.2.3.4./app.php? client =% clientname%" sollte den Trick machen. – Ben

0

Ich verwende dieses VBScript die ganze Zeit über Citrix, um den% clientname% zurückzugeben, wenn ich die App von citrix aus führe, fügte ich hinzu, um zu identifizieren, ob die App auch lokal läuft.

Dim sh 
Dim en 
noWorkstation = "No Workstation" 
Set sh = CreateObject("WScript.Shell") 
Set en = sh.Environment("VOLATILE") 
en("Citrix_Variable") = sh.ExpandEnvironmentStrings("%CLIENTNAME%") 
sTemp = sh.ExpandEnvironmentStrings("%CLIENTNAME%") 
set WshNetwork = CreateObject("Wscript.Network") 
computername = wshNetwork.Computername 
msgbox "Computer name is" computername "...And should be empty because we are looking for CLIENTNAME" 
msgbox "CLIENTNAME is..." clientname 

'Or if you can return the correct answer via Citrix or locally connected app 
if sTemp = "%CLIENTNAME%" then 
    clientname = computername 
end if