Claus_Jambrich_5663

Windows Umgebungs-Variablen

Discussion created by Claus_Jambrich_5663 on Jan 12, 2017
Der Support bekam folgende Frage:
Folgendes Verhalten ist uns beim Ausführen eines Jobs auf einem Windows Agent aufgefallen. Scheinbar werden eine Vielzahl von Variablen des Benutzers übernommen, unter dem der Agent gestartet ist, auch wenn im Login-Objekt ein anderer User steht. Ist dieses Verhalten so korrekt bzw. kann man dies beeinflussen?
Dieses Verhalten ist so normal. Man kann es beeinflussen, indem man im Job mittels Befehl set neue Variablen setzt oder vorhandene verändert.
Als Beispiel kann man einen Windows Job anlegen, bei dem im Login Objekt ein anderer Benutzer steht (im Beispiel ) als der Nutzer, mit dem der Agent gestartet wurde (SUP). Man fügt folgende Skript-Zeilen ein:

set
set NEWVAR=SOMETHING
set PATH=%PATH%;%CD%
set

Das erste set gibt die aktuellen Umgebungs-Variablen aus. Dann wird eine neue Variable definiert (NEWVAR) und das aktuelle Verzeichnis zu PATH hinzugefügt. Das Ergebnis sieht dann so aus:

c:\>C:\UC4\agents\WS10\agents\VWGSUP15_WS10_WX6_01_SYS\bin\UCXJWX6M.EXE JNR=0001939029 MNR=0022 PNR=10901 IPA=192.168.115.227 TYP=S TXT="        Job started"
Program 'UC4 Job Messenger' version '10.0.8+build.498' started
UCMDJP: *********************************************************************
UCMDJP: ** JOB 0001939029 (ProcID:0000003384) START AT 12.01.2017/09:18:19 **
UCMDJP: **                                    UTC TIME 12.01.2017/08:18:19 **
UCMDJP: *********************************************************************
Connected with agent 'WS10_VWGSUP15_WX6_01_SYS'
Program 'UC4 Job Messenger' version '10.0.8+build.498' terminated normally

c:\>set
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=VWGSUP15
ComSpec=C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=I:
HOMEPATH=\
HOMESHARE=\\swgfs01\user_
LOCALAPPDATA=C:\Users\\AppData\Local
LOGONSERVER=\\SVIEDC21
NUMBER_OF_PROCESSORS=2
OS=Windows_NT
Path=C:\ProgramData\Oracle\Java\javapath;"C:\Program Files\Java\jdk1.8.0_51\bin\java" -jar -Xmx512M";C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jre1.8.0_111\bin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 45 Stepping 2, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=2d02
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
retcode=0
retcodemsg=0
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\\AppData\Local\Temp
TMP=C:\Users\\AppData\Local\Temp
USERDNSDOMAIN=SBB01.SPOC.GLOBAL
USERDOMAIN=SBB01
USERNAME=
USERPROFILE=C:\Users\
windir=C:\Windows

c:\>set NEWVAR=SOMETHING

c:\>set PATH=C:\ProgramData\Oracle\Java\javapath;"C:\Program Files\Java\jdk1.8.0_51\bin\java" -jar -Xmx512M";C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jre1.8.0_111\bin;c:\

c:\>set
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=VWGSUP15
ComSpec=C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=I:
HOMEPATH=\
HOMESHARE=\\swgfs01\user_
LOCALAPPDATA=C:\Users\\AppData\Local
LOGONSERVER=\\SVIEDC21
NEWVAR=SOMETHING
NUMBER_OF_PROCESSORS=2
OS=Windows_NT
Path=C:\ProgramData\Oracle\Java\javapath;"C:\Program Files\Java\jdk1.8.0_51\bin\java" -jar -Xmx512M";C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jre1.8.0_111\bin;c:\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 45 Stepping 2, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=2d02
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
retcode=0
retcodemsg=0
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\\AppData\Local\Temp
TMP=C:\Users\\AppData\Local\Temp
USERDNSDOMAIN=SBB01.SPOC.GLOBAL
USERDOMAIN=SBB01
USERNAME=
USERPROFILE=C:\Users\
windir=C:\Windows

c:\>C:\UC4\agents\WS10\agents\VWGSUP15_WS10_WX6_01_SYS\bin\UCXJWX6M.EXE JNR=0001939029 MNR=0022 PNR=10901 IPA=192.168.115.227 TYP=E RET=00000000 TXT="        Job ended"
Program 'UC4 Job Messenger' version '10.0.8+build.498' started
UCMDJP: *********************************************************************
UCMDJP: ** JOB 0001939029 (ProcID:0000005048) ENDED AT 12.01.2017/09:18:19 **
UCMDJP: **                                    UTC TIME 12.01.2017/08:18:19 **
UCMDJP: ** --------------------------------------------------------------- **
UCMDJP: **                                    USED:          @ CPU         **
UCMDJP: *********************************************************************
Connected with agent 'WS10_VWGSUP15_WX6_01_SYS'
Program 'UC4 Job Messenger' version '10.0.8+build.498' terminated normally

c:\>GOTO JOBENDE

Die gesetzten Werte gelten nur im Kontext des Jobs. Führt man danach nochmal set aus, sieht man wieder die ursprünglichen Werte.

Outcomes