Zeigen Sie Prozessumgebungsvariablen in Windows an

1277
jan-seins

Gibt es eine Möglichkeit, die Umgebungsvariablen eines bestimmten Prozesses anzuzeigen. Ich weiß, dass ich sie mit dem Process Explorer sehen kann. Ich muss sie jedoch in einem Stapel- oder Powershell-Skript verwenden. Gibt es einen Befehl, der das tut? Kann ich die procexp.exe des Process Explorer verwenden, um diese Informationen zu erhalten, um sie in einem folgenden Skript zu verwenden?

1
Ich bin nicht sicher, ob ich mit einem bestimmten Prozess (Sitzungsvariablen) sprechen kann, aber wenn Sie alle Umgebungsvariablen sehen möchten (nur System und Benutzer, von denen ich dachte), können Sie Folgendes verwenden: (Get-WMIObject -Klasse "Win32_Environment") Dallas vor 6 Jahren 0
(get-process -id 17512) .StartInfo.EnvironmentVariables < Dallas vor 6 Jahren 0

1 Antwort auf die Frage

0
Art Gertner

Versuchen Sie Folgendes in Powershell:

(Get-Process ).StartInfo.EnvironmentVariables 

ODER

(Get-Process -id ).StartInfo.EnvironmentVariables 
Das funktioniert nicht richtig. Sie können dies leicht überprüfen, wenn Sie eine cmd öffnen und eine Variable festlegen. Die var wird jetzt in den Kontext des cmd-Prozesses gesetzt. Wenn Sie jedoch Ihren ps-Befehl ausführen, wird die neue Variable nicht angezeigt. Im ProcessExplorer können Sie es sehen. jan-seins vor 7 Jahren 0
Außerdem habe ich gesehen, wo dies sehr falsche Umgebungsvariablen hat. Zum Beispiel starte ich einen Prozess, da Benutzer1 und Benutzer1 die Umgebungsvariablen von Benutzer1 wie erwartet sehen. Wenn derselbe Prozess von Benutzer2 abgefragt wird, sieht Benutzer2 die Umgebungsvariablen von Benutzer2. VertigoRay vor 6 Jahren 0