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

jnko
Beiträge: 18
Registriert: 12 Okt 2016, 09:58

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

Beitragvon jnko » 12 Okt 2016, 10:15

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!

holgerv
Beiträge: 278
Registriert: 20 Aug 2012, 09:35

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

Beitragvon holgerv » 12 Okt 2016, 11:11

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

jnko
Beiträge: 18
Registriert: 12 Okt 2016, 09:58

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

Beitragvon jnko » 12 Okt 2016, 11:37

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!

holgerv
Beiträge: 278
Registriert: 20 Aug 2012, 09:35

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

Beitragvon holgerv » 12 Okt 2016, 13:40

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.