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

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

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

Beitrag 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!
holgerv
Beiträge: 288
Registriert: 20 Aug 2012, 09:35

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

Beitrag 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
jnko
Beiträge: 18
Registriert: 12 Okt 2016, 09:58

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

Beitrag 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!
holgerv
Beiträge: 288
Registriert: 20 Aug 2012, 09:35

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

Beitrag 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.
Antworten