Seite 1 von 1

Ersetzung von Text-Konstanten verhindern z.B. %SystemRoot%

Verfasst: 12 Okt 2016, 10:15
von jnko
Wie kann man verhindern, dass Text-Konstanten (also z.B. %SystemRoot% oder %JAVA_HOME%) in einem Script ersetzt werden?
In Firewall-Regeln oder Environment-Variablen ist es ab und an notwendig, oben genannte Strings zu verwenden. Diese werden natürlich gnadenlos durch OPSI ersetzt, was nicht immer erwünscht ist.
Ich habe schon erfolglos versucht das ganze mit \% zu escapen oder mittels %% zu umgehen.

Daher wie macht man das ?



Danke!

Re: Ersetzung von Text-Konstanten verhindern z.B. %SystemRoot%

Verfasst: 12 Okt 2016, 11:11
von holgerv
Hi,

das geht zum Beispiel mit Umweg über eine Variable:

Code: Alles auswählen

[Actions]
DefVar $SystemRootInclPercentSigns$
Set $SystemRootInclPercentSigns$="%" + "SystemRoot" + "%"
Comment "Aufgeloest: %SystemRoot%"
Comment "Nicht aufgeloest: " + $SystemRootInclPercentSigns$
Schönen Gruß


Holger

Re: Ersetzung von Text-Konstanten verhindern z.B. %SystemRoot%

Verfasst: 12 Okt 2016, 11:37
von jnko
holgerv hat geschrieben:

Code: Alles auswählen

[Actions]
DefVar $SystemRootInclPercentSigns$
Set $SystemRootInclPercentSigns$="%" + "SystemRoot" + "%"
Comment "Aufgeloest: %SystemRoot%"
Comment "Nicht aufgeloest: " + $SystemRootInclPercentSigns$

:lol: Das ist ja wie mit dem Pfeil durch den Rücken mitten ins Auge zu schießen...

Aber: Ja, das geht. Nicht gerade intuitiv dafür aber extrem kreativ! Danke!

Re: Ersetzung von Text-Konstanten verhindern z.B. %SystemRoot%

Verfasst: 12 Okt 2016, 13:40
von holgerv
Es geht auch kürzer und ohne Variable:

Code: Alles auswählen

[Actions]
Comment "Nicht aufgeloest: " + "%" + "SystemRoot" + "%"
Warum ich ursprünglich den Umweg über die Variable gegangen bin, weiß ich gar nicht mehr. Es gab irgend eine Situation, wo ich das brauchte.