Veröffentlicht 31. Mai 200520 j Hallo, ich habe ein VBS Script das eine Windows Umgebungsvariable in eine Variable ausliest. Diese bräuchte ich danach wieder als PHP Variable. Ist das möglich? Gruß Phil
31. Mai 200520 j wieso liest du die systemvariable nicht gleich mit php ein, wozu der ganze umweg? s'Amstel
31. Mai 200520 j Wenn der Server und der Rechner, auf dem Du die Variable auslesen willst ein und derselbe ist, dann mache es, wie mein Vorposter es schreibt, ansonsten rufe per VBS die URL zu einem PHP-Script auf, der Du dann einen Parameter und den Wert der Variable übergibst.
31. Mai 200520 j die Übergabe erfolgt mit diesem Link www.blablabla.de/index.php?variablenname=deineVariable jetzt kannst du in PHP mit $_GET['variablenname'] arbeiten ...
31. Mai 200520 j hast du vielleicht ein code schnipsel für mich? bin nicht so der programmier crack Für welche Methode denn? Serverseitig, oder clientseitig?
31. Mai 200520 j gehts denn auch andersherum? von php das vbs script aufrufen und mit nem rückgabewert arbeiten.
31. Mai 200520 j <script type="VBScript"> Set shell = CreateObject("WScript.Shell") Set env = shell.Environment("process") CNAME = env("COMPUTERNAME") UNAME = env("USERNAME") ADDR = env("addr") </script> Wichtig ist für mich die Variable ADDR die dann im PHP weiterverwendet werden soll
31. Mai 200520 j blub.php: <html> <head> <title>Testscript</title> </head> <body> <?php if ($_GET['hasVar'] == 'true') { //Variable wird übergeben if (!empty($_GET['envVar'])) { echo 'Der Wert der Umgebungsvariable lautet:<br>'.$_GET['envVar'].'<br>'; } else { echo 'Es wurde keine Wert für die Umgebungsvariable übergeben!'; } } else { ?> <script type="text/vbscript"> Set shell = CreateObject("WScript.Shell") Set env = shell.Environment("process") CNAME = env("COMPUTERNAME") UNAME = env("USERNAME") ADDR = env("addr") window.location.href="<? echo $PHP_SELF;?>?hasVar=true&envVar="+ADDR </script> Dieser Text sollte nicht erscheinen... <? } ?> </body> </html> Achja: Die rufst Du wie gewohnt auf: http://webserver/blub.php
31. Mai 200520 j Wichtig ist für mich die Variable ADDR die dann im PHP weiterverwendet werden sollWarum nicht ohne VBS? echo $_SERVER['REMOTE_ADDR']; [/PHP]
31. Mai 200520 j mit echo $_SERVER['REMOTE_ADDR']; arbeitet das script bis jetzt. wenn dieses script jetzt auf dem windows terminal server läuft kommt immer nur die terminal server ip dabei raus nicht so toll gruß phil
31. Mai 200520 j wenn dieses script jetzt auf dem windows terminal server läuft kommt immer nur die terminal server ip dabei raus Solche Hintergrundinformationen gehören schon in das Originalposting Klappt denn die VBS-Lösung?
1. Juni 200520 j klappt noch nicht so recht. die datei mit dem vbs script heisst jetzt client.php und wird von der index.php aufgerufen. jetzt hab ich nur hinter der index.php immer "?hasVar=true&envVar=" stehen. Andere als Parameter übergebene Seiten werden dadurch überschrieben
1. Juni 200520 j wenn du den hostnamen brauchst, verwende halt 'REMOTE_HOST' statt 'REMOTE_ADDR', falls die variable verfügbar ist. s'Amstel
1. Juni 200520 j wenn du den hostnamen brauchst, verwende halt 'REMOTE_HOST' statt 'REMOTE_ADDR', falls die variable verfügbar ist. Wobei er dann wieder nur den Hostnamen des Terminal-Servers hat, wenn er überhaupt aufgelöst wird...
1. Juni 200520 j wie schaut sowas eigentlich mit nem cookie aus? ist eh ne intranet anwendung deshalb wär das auch nicht so tragisch
1. Juni 200520 j Ja, Du kannst den Wert per JavaScript (VBScript?) in den Cookie schreiben, und den per PHP auslesen, aber dafür muss zuerst das Script aufrufen, und dann das PHP-Script... Aber poste mal den Code, mit der anderen Implementierung, dann sag ich Dir, wo der Fehler ist...
1. Juni 200520 j wenn der php-server auf windows läuft (glaskugel ist in der reinigung) kannst du auch einfach die PHP-COM()-Befehle nutzen. Dazu müsstest du dann aber ins Handbuch gucken EDIT: vielleicht zeigt phpinfo() dir ja auch schon die benötigte var an
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.