Umgebungsvariable auslesen

luca_de
Beiträge: 18
Registriert: 30 Nov 2018, 13:38

Umgebungsvariable auslesen

Beitragvon luca_de » 07 Dez 2018, 07:45

Hallo zusammen ich habe folgendes Problem:

Dieser Code sollte mir die in der Umgebungsvariable stehende AMD64 zurückgeben und bei der Prüfung true bringen, allerdings zeigt es beim Ausführen des Codes bei x86 true an

Code: Alles auswählen

set $PROCESSOR_ARCHITECTURE$ = EnvVar("PROCESSOR_ARCHITECTURE")


Code: Alles auswählen

if ($PROCESSOR_ARCHITECTURE$ = "x86")
   comment "x86"
   ;Winbatch_Install86
if ($PROCESSOR_ARCHITECTURE$ = "AMD64")
   comment "AMD64"

bernd670
Beiträge: 80
Registriert: 16 Mär 2018, 10:44

Re: Umgebungsvariable auslesen

Beitragvon bernd670 » 07 Dez 2018, 08:10

Hallo,

das liegt daran das OPSI-winst eine 32Bit Anwendung ist, das kannst Du auch ganz einfach nachvollziehen wenn Du die 32Bit-Version von CMD ausführst

Code: Alles auswählen

c:\Windows\SysWOW64\cmd.exe
und Dir dann mit die Umgebungsvariablen anschaust. Dann gibt es nämlich 2 Variablen für die Architektur

Code: Alles auswählen

PROCESSOR_ARCHITECTURE=x86
PROCESSOR_ARCHITEW6432=AMD64
MfG
Bernd

larsg
Beiträge: 203
Registriert: 16 Dez 2014, 18:06

Re: Umgebungsvariable auslesen

Beitragvon larsg » 07 Dez 2018, 11:52

Prüfung auf die Bit-Architektur des Rechners geht auch mit OPSI mitteln:

DefVar $SystemArchitecture$
Set $SystemArchitecture$ = GetSystemType
Set $SystemArchitecture$ = StringReplace($SystemArchitecture$,"x86 System","x86")
Set $SystemArchitecture$ = StringReplace($SystemArchitecture$,"64 Bit System","x64")