s-rosenkranz
Goto Top

Login-Script mit Log-Funktion

Hallo,

habe vor einigen Tagen angefangen ein Login-Script für unsere Firma in Kixtart zu schreiben.
Funktionierte soweit auch ganz gut, bis ich feststellen musste, dass auf einigen Computern
das Script nicht richtig ausgeführt wurde.

Nun möchte ich in diesem Script, da ich immer wieder auch kleine Veränderungen an dem
Script (zwecks Weiterentwicklung) vornehme, dass nach jedem ausgeführtem Befehl eine
entsprechende Zeile in ein Login-Script geschrieben wird.

Die Lösungen, die ich bisher gefunden habe, erwiesen sich als sehr umständlich.
Vielleicht hat einer eine Idee, wie ich das Ganze auf einfach Weise lösen kann.

Damit Ihr wisst worum es geht, habe ich hier mal mein Script mit gepostet:

; Start von main.kix

; Verhindern des abbrechen des Scripts
Break off

; Versteckt das Command Prompt von Kix
Set Console("Hide")

; Startet eine Warnmeldung
MESSAGEBOX ("Bitte warten Sie, bis der Anmeldevorgang beendet ist. Sie bekommen eine weitere Meldung, wenn der Anmeldevorgang fertiggestellt ist.","Startvorgang",48,10)

; Definitionen der Varianblen
$FS01 = "\\server"
$PRB1 = "\\server\Drucker-B"
$PRS1 = "\\server\Drucker-Skt"
$PRXX = "\\server\Drucker-Gang"

; Löschen der Netz-Laufwerke
USE * /DELETE

;Löschen der Drucker
IF DelPrinterConnection ($PRS1) = 0
? "PR-Skt: Druckerverbindung erfolgreich gelöst."
ELSE
? "PR-Skt: Kein Drucker vorhanden."

ENDIF
IF DelPrinterConnection ($PRB1) = 0
? "PR-B: Druckerverbindung erfolgreich gelöst."
ELSE
? "PR-B: Kein Drucker vorhanden."
ENDIF

IF DelPrinterConnection ($PRXX) = 0
? "PR-XX: Druckerverbindung erfolgreich gelöst."
ELSE
? "PR-XX: Kein Drucker vorhanden."
ENDIF

; Drucker einbinden
If AddPrinterConnection ($PRXX) = 0
? "Drucker PR-XX erfolgreich verbunden."
ELSE
? "Drucker-Verbindungsfehler bei PR-XX!"
ENDIF

If AddPrinterConnection ($PRS1) = 0
? "Drucker PR-Skt erfolgreich verbunden."
ELSE
? "Drucker-Verbindungsfehler bei PR-Skt!"
ENDIF

If AddPrinterConnection ($PRB1) = 0
? "Drucker PR-B erfolgreich verbunden."
ELSE
? "Drucker-Verbindungsfehler bei PR-B!"
ENDIF

; Gruppenbezogene Verbindungen herstellen
IF InGroup("Buero")
USE L: $FS01+"\WINDVSW1"
USE O: $FS01+"\OFFICE"
USE Q: $FS01+"\LAP"
? "Laufwerksverbindungen für Gruppe Buero erfolgreich."
ENDIF

IF InGroup("Sekretariat")
USE L: $FS01+"\WINDVSW1"
USE O: $FS01+"\OFFICE"
USE Q: $FS01+"\LAP"
? "Laufwerksverbindungen für Gruppe Sekretariat erfolgreich."
ENDIF

IF InGroup("Sysadmins")
USE U: $FS01+"\IT$"
USE V: $FS01+"\ClientApps$"
USE W: $FS01+"\AdminApps$"
? "Laufwerksverbindungen für Gruppe Sysadmin erfolgreich."
ENDIF

IF @wksta = ("WKS4")
SetDefaultPrinter ("\\Server\HP Laserjet 1200 Series PCL (Skt)")
? "Drucker PR-Skt erfolgreich als Standarddrucker eingerichtet."

ELSE
GOTO PR7
:PR7
IF @wksta = ("WKS7")
SetDefaultPrinter ("\\server\HP Laserjet 1200 Series PCL (Skt)")
? "Drucker PR-Skt erfolgreich als Standarddrucker eingerichtet."

ELSE
GOTO PR3
:PR3
IF @wksta = ("WKS3")

SetDefaultPrinter ("\\server\HP Laserjet 1200 Series PCL (Skt)")
? "Drucker PR-Skt erfolgreich als Standraddrucker eingerichtet."

ELSE
GOTO REST
:REST
SetDefaultPrinter ("\\server\HP Laserjet 1200 Series PCL")
? "Drucker PR-B erfolgreich als Drucker eingerichtet."

ENDIF
? ".EOF"
MESSAGEBOX ("Der Anmeldevorgang wurde erfolgreich beendet","Startvorgang beendet",64,10)

exit


Wäre schön, wenn mir jemand helfen könnte.

Liebe Grüße
DKITM

Content-Key: 98098

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

Printed on: April 16, 2024 at 20:04 o'clock

Mitglied: 60730
60730 Sep 29, 2008 at 15:50:44 (UTC)
Goto Top
Servus,

vorab - es gibt eine GPO in der du einstellen kannst, daß die Loginscripte erst durchlaufen, bevor der User irgendwas machen kann. Von daher ist die Zeile mit
; Startet eine Warnmeldung
MESSAGEBOX
unnötig.

Dazu bitte in
computer configuration/administrative templates/system/logon
Always wait for the network at computer startup and logon
& in
User Configuration/administrative templates/system/scripts
Run logon scripts synchronously
anklicken.

Und was wohl deine Hauptfrage war - schau dir mal den Befehl REDIRECTOUTPUT genauer an.
Obwohl eine Abfrage via:
if @16034 <> 0
wohl eleganter wäre face-wink

Gruß