Anmelden

View Full Version : RUNRMTCMD und Umgebungsvariablen



Marsman
11-04-06, 16:29
Hallo!

Wenn ich mittels RUNRMTCMD auf dem PC einen Befehl ausführen lasse, werden offenbar die Windows-Umgebungsvariablen nicht gesetzt. Weiß jemand, wie ich das noch hinbekommen kann? Denn ich wollte die Umgebungsvariable UserName nutzen, um per SQL bestimmte Daten in einer ODBC-Datenbank abzurufen. Wenn ich das gleiche direkt auf dem PC mache, werden die Benutzer-Umgebungsvariablen gesetzt.

Oder kennt jemand noch einen ganz anderen Weg, um für einen Benutzer bzw. einer Windows-Sitzung bestimmte Daten getrennt von anderen herauszufiltern?

Gruß, Titus

Fuerchau
11-04-06, 18:10
Um Umgebungsvariablen zu setzen muss man eine .PIF Datei erstellen in der die Variablen und das aufzurufende Programm definiert sind.
Ansonsten kann ein VBA-Programm auch DLL-Funktionen des Kernel wie GetUserName/GetComputerName zuzugreifen, da auf Umgebungsvariablen eben nicht immer Verlass ist.

Marsman
12-04-06, 08:58
Ansonsten kann ein VBA-Programm auch DLL-Funktionen des Kernel wie GetUserName/GetComputerName zuzugreifen, da auf Umgebungsvariablen eben nicht immer Verlass ist.


Wow, danke!! Das funktioniert. :D

Wie ist das eigentlich mir GetComputerName? Kann ich den von der iSeries aus auch einigermaßen Treffsicher ermitteln? Letztlich wäre mir das lieber, als über den User zu arbeiten (der könnte ja an mehreren Stationen angemeldet sein und mein Programm parallel nutzen).

Titus

Fuerchau
12-04-06, 09:23
Von der AS/400 aus kannst du nur die IP ermitteln (irgendwo im Forum gibts ein Beispiel).
Vom PC kannst du ja User- und Computername als Kombination verwenden, die ist dann eindeutig, wenn Word nur einmal gestartet ist (was man auch durchaus mehrfach tun kann).
Hierfür kannst du dann mittels "GetCurrentProcessId" zusätzlich für Eindeutigkeit sorgen.