Umgebungsvariable mal da und mal weg

03/11/2008 - 10:14 von Klaus Gehlert | Report spam
Hallo,

Ich habe ein seltsames Problem mit einer Umgebungsvariable. In einer
Batch-Datei wird eine Umgebungsvariable mit dem Tool "setx.exe" (aus dem
Windows Resource Kit) gesetzt, falls sie noch nicht existiert. Das
funktioniert auch prima. Nun ist es so, dass das Skript lokal auf dem
Rechner funktioniert, wenn ich das Skript jedoch über das Netzwerk starte,
verhàlt es sich jedoch komisch.

Irgendwie ist die Umgebungsvariable "abgekoppelt", sobald das Skript per
Netzwerk aufgerufen wird. Beispiel:

1. Das Skript startet, entdeckt, dass die Umgebungsvariable noch nicht
gesetzt ist und setzt die Variable mit setx
2. Unter Windows ist die Variable in dem Menüpunkt "Umgebungsvariablen" des
Benutzers (bei Systemeigenschaften) zu sehen
3. Unter cmd ist die Variable jedoch NICHT zu sehen!
4. Wenn ich eine Batch-Datei "c:\test.bat" mit dem Inhalt
@ECHO OFF
set
PAUSE
lokal starte, dann sehe ich die Umgebungsvariable NICHT
5. Starte ich die gleiche Batch-Datei auf dem gleichen Rechner, nur diesmal
über eine Freigabe \\pc-klausg\c$\test.bat, dann sehe ich die
Umgebungsvariable plötzlich!
6. Wenn ich in den Systemeigenschaften die Umgebungsvariable lösche, dann
bleibt 4. und 5. genau gleich!
7. Das Verhalten von 5. tritt auch bei anderen Freigaben auf. Also wenn die
test.bat z.B. auf dem DC liegt und über die Freigabe auf dem Rechner
gestartet wird.

Was kann das sein? Warum ist die Variable mal da und mal weg? Wie kann ich
das Problem lösen? Die Clients sind alle Windows XP Prof. Deutsch SP3 mit
allen Updates/Patches. Die Benutzer haben lokale Admin-Rechte.

Gruß, Klaus
 

Lesen sie die antworten

#1 Thorsten Kampe
03/11/2008 - 10:40 | Warnen spam
* Klaus Gehlert (Mon, 3 Nov 2008 10:14:31 +0100)
Ich habe ein seltsames Problem mit einer Umgebungsvariable. In einer
Batch-Datei wird eine Umgebungsvariable mit dem Tool "setx.exe" (aus dem
Windows Resource Kit) gesetzt, falls sie noch nicht existiert. Das
funktioniert auch prima. Nun ist es so, dass das Skript lokal auf dem
Rechner funktioniert, wenn ich das Skript jedoch über das Netzwerk starte,
verhàlt es sich jedoch komisch.

Irgendwie ist die Umgebungsvariable "abgekoppelt", sobald das Skript per
Netzwerk aufgerufen wird. Beispiel:

1. Das Skript startet, entdeckt, dass die Umgebungsvariable noch nicht
gesetzt ist und setzt die Variable mit setx
2. Unter Windows ist die Variable in dem Menüpunkt "Umgebungsvariablen" des
Benutzers (bei Systemeigenschaften) zu sehen
3. Unter cmd ist die Variable jedoch NICHT zu sehen!
4. Wenn ich eine Batch-Datei "c:\test.bat" mit dem Inhalt
@ECHO OFF
set
PAUSE
lokal starte, dann sehe ich die Umgebungsvariable NICHT
5. Starte ich die gleiche Batch-Datei auf dem gleichen Rechner, nur diesmal
über eine Freigabe \\pc-klausg\c$\test.bat, dann sehe ich die
Umgebungsvariable plötzlich!
6. Wenn ich in den Systemeigenschaften die Umgebungsvariable lösche, dann
bleibt 4. und 5. genau gleich!
7. Das Verhalten von 5. tritt auch bei anderen Freigaben auf. Also wenn die
test.bat z.B. auf dem DC liegt und über die Freigabe auf dem Rechner
gestartet wird.

Was kann das sein? Warum ist die Variable mal da und mal weg? Wie kann ich
das Problem lösen? Die Clients sind alle Windows XP Prof. Deutsch SP3 mit
allen Updates/Patches. Die Benutzer haben lokale Admin-Rechte.



Vergiß das mit setx und such dir eine andere Lösung. Klingt verdàchtig
àhnlich nach dem Bug, den ich hier beschrieben habe:
http://groups.google.com/group/micr...mpt.admin/
browse_thread/thread/acd06b46f12c6f1b/ea2c3ca9af51763c?hl=en

Thorsten

Ähnliche fragen