Seite 1 von 1

Umgebungsvariable auslesen

Verfasst: 07 Dez 2018, 07:45
von luca_de
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"

Re: Umgebungsvariable auslesen

Verfasst: 07 Dez 2018, 08:10
von bernd670
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

Re: Umgebungsvariable auslesen

Verfasst: 07 Dez 2018, 11:52
von larsg
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")