miczar
Goto Top

Systemvariable funktioniert im Script nicht

Guten Morgen zusammen,

ich habe hier mehrere PCs mit Windows 7 System auf dem ich ein Script laufen habe.
Ich habe auf jedem PC manuell eine Systemvariable festgelegt (Linie=Pxx)

Das Script arbeitet auf mehreren PCs einwandfrei aber auf manchen kann die Systemvariable scheinbar nicht vom Script einwandfrei verarbeitet werden.
Die Variable wird genutzt um ein Laufwerk zu Mappen.
Pinge ich den PC unter Verwendung der Variable funktioniert es. Mappe ich das Laufwerk manuell mit der Variable funktioniert es nicht.
Mappe ich das Laufwerk unter Verwendung von Pxx anstatt %Linie% findet er es wieder.

Das zeigt mir
1. das die Funktion der Variable eigentlich gegeben ist da ich sonst nicht pingen könnte
2. das das Laufwerk als solches erreichbar ist da ich es sonst nicht auf normalem Wege Mappen könnte und
3. das das Script als solches funktioniert da es sonst auf den anderen PCs auch nicht laufen würde.

Wo könnte hier der Fehler liegen?

Gibt es irgendwelche Systemeinstellungen die zB die Verwendung von Variablen in Scripten verhindert? Habe ich zwar noch nie etwas von gehört aber wer weiß.

Danke und Gruß

Mike

Content-Key: 314229

Url: https://administrator.de/contentid/314229

Printed on: April 19, 2024 at 22:04 o'clock

Member: sabines
sabines Sep 02, 2016 updated at 05:49:30 (UTC)
Goto Top
Moin,

schreib' mal was Dein Skript genau machen soll (poste es mal?)?
Ein Ping geht eigentlich auf die IP und nicht eine Variable.

Gruß
Member: miczar
miczar Sep 02, 2016 at 06:03:09 (UTC)
Goto Top
Hallo sabines,

in dem Script geht es um das Mappen von Laufwerken.
Ich habe zum testen der Funktionalität der Variable einen ping durchgeführt um überhaupt erstmal sicherzustellen das die Variable vom System richtig ausgegeben wird. Dies hat ja auch einwandfrei funktioniert. Es geht nur um die Frage ob es Systemeinschränkungen gibt die bei der Verwendung von Variablen in Scripten zu Problemen führen können.

Davon abgesehen lässt sich sowohl über IP als auch über den Hostnamen pingen.

net use R: "\\%LINIE%-rep\Data"  

Gruß
Mike
Member: Pjordorf
Pjordorf Sep 02, 2016 at 07:16:04 (UTC)
Goto Top
Hallo,

Zitat von @miczar:
Ich habe zum testen der Funktionalität der Variable einen ping durchgeführt
Einen Ping also ping -n 1 DieIPzumTesten? Auch wenn zu 99,5 der erste Ping sauber beantwortet wird, passiert es doch das der erste Ping eben ab und an nicht korrekt beantwortet wird.
Was sagt ein Blick in deiner Umgebung mittels Set um zu schauen ob deine Variabel existiert und auch einen (gültigen) Wert einhält?

ies hat ja auch einwandfrei funktioniert.
Immer?

Es geht nur um die Frage ob es Systemeinschränkungen gibt die bei der Verwendung von Variablen in Scripten zu Problemen führen können.
Bei deiner Variable namens "Linie" wohl nicht sofern keiner oder andere Programme da mitmischen.

Ping kann gehen, muss aber nicht zu 100% gehen. Ein NSLookup ist da eher geeignet...
net use R: "\\%LINIE%-rep\Data"  
Ist wohl nicht dein Problem, eher das füllen von Linie... Und du bist sicher das ein %Linie% angebrachter ist als ein !Linie!?

Gruß,
Peter
Member: miczar
miczar Sep 06, 2016 at 03:21:38 (UTC)
Goto Top
Hallo Pjordorf,

ich hätte die Ausgabe meiner Variablen auch irgendwie anders prüfen können. Ob nun mit einem ping %Linie% oder mit einem set.
In diesem Fall war mir erst mal wichtig zu prüfen ob das richtige am Ende raus kommt. In diesem Falle also das der PC meine festgelegte Variable und meine Eingabe richtig miteinander in Verbindung bringt.
Wenn ich gewusst hätte das mein Versuch so aufwühlt hätte ich doch eher geschrieben set gibt die richtige Ausgabe zurück.

Wie gesagt ich habe das Script auf mehreren PCs ohne Probleme laufen lassen und es hat immer funktioniert.

Mittlerweile funktioniert das Script auch auf dem Problemrechner. Allerdings ohne dass ich irgendetwas am Script noch an der Konfiguration geändert habe.
Meine Vermutung geht mittlerweile in Richtung LMHOSTS Datei.
Wenn über das Script die Erreichbarkeit des %LINIE%-Rep mittels ping geprüft wird, wird der Name über DNS aufgelöst und daher auch kein negatives ping Ergebnis ermittelt. Wird dann aber das mapping ausgeführt und die in der LMHOSTS hinterlegte IP ist in dem Augenblick nicht auf dem aktuellen Stand, kann der Pfad nicht gefunden werden und kein Netzlaufwerk verbunden werden.

Das scheint mir die einzig logische Erklärung zu sein.

Gruß
Mike