PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : EEEklig, Batchdatei schreiben


Lord_Pinhead
17.05.06, 20:07:24
So, früher hab ich den Horror gerne gemacht, heute schau ich auf MCSE Boards und frag mich was sich M$ bei den Batchsachen gedacht hat. Ich suche für ein Anmeldescript, das ich meinem Samba hier mitgeben möchte, ein paar einfache und wirklich Grundlegende Sachen die ich einfach nicht finde.

1) Eine Schleifenfunktion die nicht mit GOTO endet
2) Wie kann ich die Ordnergröße des Profils bzw. seine Freigabe prüfen beim Anmelden
3) Kann ich ein Programm starten das sich vom Batchscript "abkoppelt" und das Batchscript nicht stehenbleibt bis ich das Programm beendet habe

Einfache sachen die irgendwie keiner macht oder keiner kennt. Alleine das auf dem MCSE Board geraten wird mit GOTO zu arbeiten hat mir den Brechreiz gesichert. Es muss doch bessere sachen geben, und bitte kein WSH wenn es geht :(

p.s.: Bevor ich Fragt: es sollen bei bestimmten Usern die Installationsprogramme von Outpost oder AVG Starten beim ersten anmelden, aber das habe ich schon so weit das es unattended läuft. Soll für Sorgenkinder sein die Virenverseucht sind oder Praktikanten in der Firma für die ich das machen muss :(

MFG
Lord Pinhead

Zahl
17.05.06, 20:34:28
3) geht mit "start" afaik.

Lord_Pinhead
18.05.06, 03:00:19
Nach etwas längerer Suche habe ich einer alternative zu den Batchmüll gefunden. Kixtart (http://www.kixtart.org/) bring da ein paar verbesserungen mit die mir sehr gelegen kommen.

Einfach die netlogons erstellen


$ mkdir /samba/netlogon
$ chgrp admins /samba/netlogon


Folgendes in die /etc/samba/smb.conf eintragen

# Globale Settings
.
.
.
logon script = logon.bat

.
.
.
# Netlogon Freigabe
[netlogon]
comment = netlogon
path = /samba/netlogon
write list = "@admins"
guest ok = Yes


Kix runterladen und entpacken. Wichtig sind die Dateien KIX32.EXE und KX32.DLL die Ihr als Admin ins netlogon Verzeichniss hochkopiert (das Ihr als Admin ja ansteuern könnt). Danach die logon.bat erstellen (von Windows aus wegen dem Carriage Return, Linux macht nur ein Line Feed) mit dem Inhalt:


\\samba_server\netlogon\kix32.exe \\samba_server\netlogon\logon.kix /f


und dann die datei logon.kix erstellen mit folgenden Inhalt:

setconsole('hide')

; Alle gemappten Laufwerke löschen
USE * /delete

; Timeserver eintragen und Syncen
$timeserver = "\\timeserver"
Settime $timeserver

IF INGROUP("Domain Admins")
use x: \\samba_server\netlogon
ENDIF

; Heimatverzeichniss einhängen
use u: @HOMEDIR

;fertig


Das wars, jetzt habt Ihr mit Kixtart eine hochwertige Scriptsprache die auch Arrays, Schleifen, Case / If, Variablen und Konstanten etc. kennt. Damit ist das bauen von Loginscripten wirklich schöner als batch oder WSH und ich kann es richtig sauber machen :)