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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 98098
Url: https://administrator.de/contentid/98098
Ausgedruckt am: 22.11.2024 um 12:11 Uhr
1 Kommentar
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
Dazu bitte in
Und was wohl deine Hauptfrage war - schau dir mal den Befehl REDIRECTOUTPUT genauer an.
Obwohl eine Abfrage via:
Gruß
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.MESSAGEBOX
Dazu bitte in
computer configuration/administrative templates/system/logon
Always wait for the network at computer startup and logon
& inAlways wait for the network at computer startup and logon
User Configuration/administrative templates/system/scripts
Run logon scripts synchronously
anklicken.Run logon scripts synchronously
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 Gruß