71983
Goto Top

Bedingete Anweisung in Logon Script (Batch)

Mit dem Logon-Script einer Samba-Domäne gibt es das folgende Problem. Führt man das Script ganz normal aus, funktioniert es wie es soll. Als Login-Script wird es auf garkeinem Rechner ausgeführt.
Ursache ist die folgende, kürzlich hinzugefügte Zeile:

:: Wenn %ProgramData% existiert handelt es sich um Vista, das Script wird frühzeitig beendet
if exist %programdata% exit

Dies ist eine "schnell und dreckig"-Lösung, um das Script auf XP Rechnern auszuführen und auf Vista-Kisten ersmal nicht, bis ich mich um die Details kümmern kann.
Resultat ist, dass das Script nun auf garkeinem Rechner mehr ausgeführt wird. Hat jemand eine Erklärung dafür?

Content-Key: 117298

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

Printed on: April 25, 2024 at 01:04 o'clock

Member: Biber
Biber Jun 02, 2009 at 14:35:27 (UTC)
Goto Top
Moin redbeard,

ich möchte ja gar keine Diskussion von Zaun brechen, wieso Du die Existenz eines Ordnernamens prüfst, der in einer Umgebungsvariablen angegeben ist, die es "nur" unter Vi$ta gibt, wenn Du doch eigentlich abprüfen solltest, welche Windowsversion vorliegt....

Sagen wir so: Deine Frau/Freundin wird sicherlich dankbar sein für Deine ausgefallenen Phantasien.

Anyhow, um dieses spiralförmige Herantasten wenigstens an einer Stelle abzukürzen:
Prüfe doch "nur" die Existenz dieser Variablen.
if defined programdata goto :eof 

bei der Prüfung auf den Ordner selbst können Probleme auftreten, falls dieser Leerzeichen im Namen enthält.

Irgendwo im Bereich Batch & Shell haben wir aber auch Tutorial "OS-Version prüfen" oder so ähnlich griffbereit.

Grüße
Biber
Mitglied: 71983
71983 Jun 02, 2009 at 14:42:35 (UTC)
Goto Top
Ich bin davon ausgegangen, dass "if exist" die Existenz der Variablen überprüft. Danke für die Hilfe.