Jump to content

Logon Scripts


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo Ihr,

 

wir haben eine gemischte Umgebung mit Win9x, NT4.0, Win2k und WinXP-Clients im Einsatz. Bestimmte Dateien müssen vom Server auf die Clients kopiert werden, z.T. in das windows bzw. das winnt- Verzeichnis. Momentan haben wir ein Script, wo alle möglichen Pfade angegeben werden. Nun wollen wir das sauber trennen, d.h. wenn sich z,B. ein Win98-Client anmeldet, soll es auch unter windows kopiert werden, und die anderen Pfade sollen nicht berücksichtigt werden.

Wie kann man das sauber in einem einzigen Script trennen? (Wenn win98, dann nimm diesen Pfad)

Gibt es irgendwo ausführliche Anleitungen darüber?

 

Über zahlreiche Antworten würde ich mich freuen!

 

maschder

Link zu diesem Kommentar

Wenn das System in einer Umgebungsvariablen %running_system% drinsteht, kann man dies so machen:

 

 

if "%running_system%" == "win98" goto win98

if "%running_system%" == "w2k" goto w2k

goto end

 

:win98

REM Typische Befehle für w98

goto end

 

:w2k

REM Typische Befehle für w2k

goto end

 

:end

REM Scriptende

 

Hilfe zu den einzelnen Begriffen gibt es mit Befehl /?, alle Befehle mit help, ältere Systeme müssen Groß/Kleinschreibung beachten, bei XP gibt es dafür einen Schalter.

 

---------

Gruß, Auer

Link zu diesem Kommentar
Original geschrieben von Netranger

ich weiss ja net genau, ob ich da nen denkfehler habe.

aber unter win2k zumindest gibts die umgebungsvariable %running_system% nicht.

also wird die if-bedingung nie erfüllt werden.

 

Hi,

 

weiß zwar nicht ob es die Variable unter Win98 gibt, aber Du kannst es ja mal mit der Abfrage

 

if "%systemroot% "=="c:\windows\" goto...

Link zu diesem Kommentar

Wenn es nur um das Windows-Verzeichnis geht, kannst Du auch die Variable %windir% anstelle von "C:\windows" bzw. "c:\winnt" verwenden.

Ansonsten kannst Du über die Variable "OS" das Betriebssystem ermitteln: IF %OS%==Windows_NT GOTO ...

 

Alternativ kannst Du Gruppen definieren und die PCs entsprechend hinzufügen, also W98 in die W98-Gruppe, W2k in die w2k-Gruppe, usw. Über "ifmember" kannst Du die Gruppen abfragen und hast damit auch die Unterscheidung der verschiedenen Betriebssysteme.

Link zu diesem Kommentar
  • 2 Monate später...

Hi,

 

ich mache es immer über den DOS-Befehl "ver" ; Die Ausgabe wird per Pipe zum DOS-Befehl "find" geleitet,

"find" wiederum sucht in der Ausgabe nach dem übergebenen Parameter (in diesen Fall "Version 5") .

Bei Erfolg setzt "find" den ERRORLEVEL auf 0

Bei Mißerfolg setzt "find" den ERRORLEVEL auf 1.

 

 

<*.bat>

 

:: * zum debuggen einfach "ver" in der DOS-Box eingeben

 

 

:: /********** finde NT5x */

ver | find "Version 5"

 

:: /********** wenn nichts gefunden springe auf Standard NT4*/

@IF ERRORLEVEL 1 GOTO NT4

 

:: /********** wenn NT5x gefunden springen zu NT5*/

@IF ERRORLEVEL 0 GOTO NT5

 

:NT4

@ECHO NT4

GOTO ENDE

 

 

:NT5

@ECHO NT5

@GOTO ENDE

 

 

:ENDE

@PAUSE

 

</*.bat>

 

Viel Spass beim ausprobieren.

 

vlu

Link zu diesem Kommentar

Hallo!

 

@maschder

Mit VBScript: für die Unterscheidung ob Win9x/ME oder WinNT/2k/Xp:

Version = "Win9x/ME"

If not "Windows_NT" = WScript.CreateObject("WScript.Shell").Environment("Process")("OS") then Version = "WinNT/2k/XP"

 

Oder ganz genau (mit Registry-Zugriff):

http://dieseyer.de/scr-html/winversp.html

 

@nospoon

Unter WinXX würde ich jetzt mit dieser Seite anfangen: http://dieseyer.de/dse-wsh-lernen.html

Link zu diesem Kommentar

die umgebungsvariablen bei NT/2K und XP sind eigendlich identisch, desshalb reicht eigendlich eine abfrage, ob es ein winNT "basierendes" system ist oder nicht.

 

if %OS%==Windows_NT goto NT

 

rem hier fängt skript für win 9x und ME an

 

goto end

 

:NT

 

rem hier das skript für winNT/2k/XP

 

goto end

 

:end

 

 

um win9x/ME mit mehr variablen auszustatten (zb. %username%), kann ich dir das tool "putinenv.exe" empfehlen, das kann beim anmeldeskript einige sachen auslesen und packt die dann in die umgebungsvariablen.

 

anfang meiner skiptdatei:

 

if "%OS%"=="Windows_NT" goto WINNT

if exist %windir%\putinenv.exe goto WIN9X

 

copy \\server\NetLogon\putinenv.exe %windir%

 

:WIN9X

 

%windir%\putinenv.exe L

 

vielleicht konnte ich dir helfen

 

nick

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...