Anleitung: Anmeldeskript mit Kix erstellen -Part 1- Drucker und Laufwerke
Mit diesem Tutorial soll ein kleiner Einblick in die Fähigkeiten von Kixstart, zur Nutzung als Anmeldeskript, gegeben werden. Besonders die Verbindung von Laufwerken und ein Bindung bzw Löschen von Druckern über dieses Skript. Falls Bedarf besteht, wird dieses Skript erweitert (Registrykeys verteilen, Verschönerungen und Aufruf von externen Programmen und Skripten usw)
Sagen wir mal wir haben 2 Server. ServerA beinhaltet die Freigaben und ServerB die Drucker.
Mit diesen Definitionen können wir im Skript einfacher operieren. Das macht sich immer ganz gut. Besonders dann wenn die Drucker von ServerB zum ServerC umziehen möchten. Dann reicht die Änderung in dieser Variablen. (Mehr dazu unten)
Laufwerk löschen:
Laufwerk verbinden:
Verbindet uns die FreigabeA mit dem Laufwerk F:.
Jetzt wollen wir nur den Mitglieder der GruppeA oder der Gruppe B dieses Laufwerk verbinden.
(EDIT am 12.12.05
Hierbei spielt es keine Rolle, ob es sich um lokale oder AD-Gruppen handelt. Zuerst wird der lokale Rechner geprüft, dann der Server. Mit der Gruppenzugehörigkeit Benutzer bzw Administratoren, die ja bei beiden existiert, fällt man dann auf die Sch.....
Also auf dem Server eigene Gruppennamen benutzen.
Das reicht damit am Client der DruckerA installiert wird.
Für jeden Drucker sollte man eine anderen LPT Port nutzen, das versteht sich von selbst.
Wir haben jetzt 2 Druckerserver. ServerB ist der primäre und ServerC ist für den notfall gedacht, oder denkt euch ein anderes Szenario.
Nochmal die Definitionen
Jetzt erstmal der Code:
Was macht er ?
AddPrinterConnection($ps01....) verbindet uns mit dem primären Druckerserver. DelPrinterConnetion löscht uns die Verbindung zum Backupserver.
Warum machen wir das so?
Tauschen wir jetzt oben in der Definition, die beiden Server, wird die Verbindung zum Backupdruckserver aufgebaut und die Verbindung zum stillgelegten primären Druckserver entfernt. Das macht die Druckumgebung für die Nutzer übersichtlicher und die Anfragen, "warum kann ich nicht Drucken" minimieren sich.
Startet das Skript commandos.cmd. Die Variable Comspec dürfte bekannt sein.
Das zweite gibt uns einfach ein Hallo aus.
So lassen sich DOS Befehle leicht einbinden.
Alternativ kann man auch den RUN Befehl nutzen.Der Unterschied zwischen den Beiden ist, dass bei SHELL das KIX Skript unterbrochen wird bis der Befehl beendet wurde. Bei RUN wird das KIX Skript weitergeführt und das externe Programm läuft parallel weiter. Sonst sind die Befehle von der Syntax indentisch.
Sollte man noch mit einer alten Login.cmd arbeiten und möchte nicht bei allen nutzern das Loginscript umändern.
So startet man KIX über DOS mit kix32.exe logon.kix.
Liegt das Kixskript in der NETLOGON Freigabe muss vorher folgender Befehl gesetzt werden.
Damit DOS die EXE auch findet.
Aufruf des Skriptes über "kix32.exe main.kix"
Wie gesagt, das soll nur auf die Möglichkeiten von Kix eingehen, und zeigt bei weitem, nicht alles was diese Sprache anbietet. Aber es ist ein kleiner Schritt, es hier als Tutorial anzubieten.
Weitere Möglichkeiten von Kix für die nächsten Tutorials (beileibe nicht vollständig):
- Anhand der IP-Adresse bestimmte Skripte ausführen. Für ein AD mit mehreren Standorten ideal. (siehe Part 2)
- Registryschlüssel ändern/auslesen
- Installation von Software
u.u.
Weiter zu Part 2
Anleitung: Anmeldeskript mit Kix erstellen -Part 2- Mehrere Netzwerke
Gruß Miguel
Inhaltsverzeichnis
Sagen wir mal wir haben 2 Server. ServerA beinhaltet die Freigaben und ServerB die Drucker.
Definieren von Variablen:
$fs01="\ServerA"
$ps01="\ServerB"
$as01="\ServerC"
Mit diesen Definitionen können wir im Skript einfacher operieren. Das macht sich immer ganz gut. Besonders dann wenn die Drucker von ServerB zum ServerC umziehen möchten. Dann reicht die Änderung in dieser Variablen. (Mehr dazu unten)
Laufwerke:
Laufwerk löschen:
use F: /delete
Use F: $fs01+"FreigabeA"
Jetzt wollen wir nur den Mitglieder der GruppeA oder der Gruppe B dieses Laufwerk verbinden.
IF (InGroup ("GruppeA") OR Ingroup ("GruppeB"))
Use F: $fs01+"FreigabeA"
EndIf
(EDIT am 12.12.05
Hierbei spielt es keine Rolle, ob es sich um lokale oder AD-Gruppen handelt. Zuerst wird der lokale Rechner geprüft, dann der Server. Mit der Gruppenzugehörigkeit Benutzer bzw Administratoren, die ja bei beiden existiert, fällt man dann auf die Sch.....
Also auf dem Server eigene Gruppennamen benutzen.
Drucker:
Wir haben auf dem ServerB einen Drucker mit der Freigabe DruckerA.AddPrinterConnection ($ps01+"druckerA")
Use LPT4: $ps01+"druckerA"
Das reicht damit am Client der DruckerA installiert wird.
Für jeden Drucker sollte man eine anderen LPT Port nutzen, das versteht sich von selbst.
Drucker löschen: (wenn zb nicht mehr vorhanden oder woanders hingezogen)
DelPrinterConnection ($ps1+"druckerA")
Standardrucker
Mit SetDefaultPrinter ($ps1+"druckerA") setzt man den DruckerA zum Standarddrucker.Umzug eines Druckers bzw Einbindung eines Backupdruckservers.
Wir haben jetzt 2 Druckerserver. ServerB ist der primäre und ServerC ist für den notfall gedacht, oder denkt euch ein anderes Szenario.
Nochmal die Definitionen
$ps01="\ServerB"
$as01="\ServerC"
AddPrinterConnection ($ps01+"druckerA")
Use LPT4: $ps01+"druckerA"
DelPrinterConnection ($as1+"druckerA")
Was macht er ?
AddPrinterConnection($ps01....) verbindet uns mit dem primären Druckerserver. DelPrinterConnetion löscht uns die Verbindung zum Backupserver.
Warum machen wir das so?
Tauschen wir jetzt oben in der Definition, die beiden Server, wird die Verbindung zum Backupdruckserver aufgebaut und die Verbindung zum stillgelegten primären Druckserver entfernt. Das macht die Druckumgebung für die Nutzer übersichtlicher und die Anfragen, "warum kann ich nicht Drucken" minimieren sich.
Einbinden einer .CMD ins KIX
Damit ein Umstieg auf Kix nicht so weh tutSHELL "%COMSPEC% /C F:scriptecommandos.cmd"
SHELL "%COMSPEC% /C echo hallo"
Startet das Skript commandos.cmd. Die Variable Comspec dürfte bekannt sein.
Das zweite gibt uns einfach ein Hallo aus.
So lassen sich DOS Befehle leicht einbinden.
Alternativ kann man auch den RUN Befehl nutzen.Der Unterschied zwischen den Beiden ist, dass bei SHELL das KIX Skript unterbrochen wird bis der Befehl beendet wurde. Bei RUN wird das KIX Skript weitergeführt und das externe Programm läuft parallel weiter. Sonst sind die Befehle von der Syntax indentisch.
Sollte man noch mit einer alten Login.cmd arbeiten und möchte nicht bei allen nutzern das Loginscript umändern.
So startet man KIX über DOS mit kix32.exe logon.kix.
Liegt das Kixskript in der NETLOGON Freigabe muss vorher folgender Befehl gesetzt werden.
@ECHO OFF
%0..kix32.exe %0..logon.kix
Zusammenfassung:
Alles zusammen in einem Skript.;---------------------- snip ------------------
; Beginn von main.kix
; Verhindert abbrechen des Skriptes
Break off
; Versteckt das Command Prompt von Kix
SetConsole("Hide")
;Definieren der Server
$fs01="\ServerA"
$ps01="\ServerB"
$as01="\ServerC"
; Löschen von F:
Use F: /delete
IF (InGroup ("GruppeA") OR Ingroup ("GruppeB"))
Use F: $fs01+"FreigabeA"
EndIf
AddPrinterConnection ($ps01+"druckerA")
Use LPT4: $ps01+"druckerA"
DelPrinterConnection ($as01+"druckerA")
IF (InGroup ("GruppeB))
AddPrinterConnection ($ps01+"druckerB")
SetDefaultPrinter ($ps1+"druckerB")
Use LPT5: $ps01+"druckerB"
DelPrinterConnection ($as01+"druckerB")
EndIF
;Jetzt binden wir noch ein paar CMD Befehle ein
SHELL "%COMSPEC% /C F:scriptecommandos.cmd"
;Ende
;--------------- schnapp --------------------------------
Aufruf des Skriptes über "kix32.exe main.kix"
Wie gesagt, das soll nur auf die Möglichkeiten von Kix eingehen, und zeigt bei weitem, nicht alles was diese Sprache anbietet. Aber es ist ein kleiner Schritt, es hier als Tutorial anzubieten.
Weitere Möglichkeiten von Kix für die nächsten Tutorials (beileibe nicht vollständig):
- Anhand der IP-Adresse bestimmte Skripte ausführen. Für ein AD mit mehreren Standorten ideal. (siehe Part 2)
- Registryschlüssel ändern/auslesen
- Installation von Software
u.u.
Weiter zu Part 2
Anleitung: Anmeldeskript mit Kix erstellen -Part 2- Mehrere Netzwerke
Gruß Miguel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 21374
Url: https://administrator.de/contentid/21374
Ausgedruckt am: 22.11.2024 um 08:11 Uhr
2 Kommentare
Neuester Kommentar