71983

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?
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 117298

Url: https://administrator.de/forum/bedingete-anweisung-in-logon-script-batch-117298.html

Ausgedruckt am: 19.05.2025 um 13:05 Uhr

Biber
Biber 02.06.2009 um 16:35:27 Uhr
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
71983
71983 02.06.2009 um 16:42:35 Uhr
Goto Top
Ich bin davon ausgegangen, dass "if exist" die Existenz der Variablen überprüft. Danke für die Hilfe.