Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

 << zurück
Integrationshandbuch Microsoft-Netzwerk von Ulrich Schlüter
Windows Server 2003 R2, SBS 2003, ADS, Exchange Server, Windows XP und Microsoft Office
Buch: Integrationshandbuch Microsoft-Netzwerk

Integrationshandbuch Microsoft-Netzwerk
1.008 S., mit CD, 69,90 Euro
Rheinwerk Computing
ISBN 3-89842-847-8

>>Jetzt Buch bestellen!
gp Kapitel 15 Das Anmeldeskript
  gp 15.1 Das Anmeldeskript als »eierlegende Wollmilchsau« verwenden
  gp 15.2 Wo liegt das Anmeldeskript auf dem Domänencontroller?
  gp 15.3 Das Anmeldeskript strukturieren
  gp 15.4 Die Netlogon-Freigabe mit Unterverzeichnissen strukturieren
  gp 15.5 Ein Anmeldeskript einem Benutzer zuweisen
  gp 15.6 Ein Anmeldeskript einer Benutzergruppe zuweisen
  gp 15.7 Startskripte und Herunterfahrenskripte
  gp 15.8 Verhindern, dass das Anmeldeskript versehentlich auf einem Server oder unter der Kennung eines Domänen-Administrators abläuft
  gp 15.9 Für eine Gruppe von Anwendern ein Gruppenlaufwerk definieren
  gp 15.10 Exkurs zum Verständnis des Befehls
»if errorlevel Zahl«
  gp 15.11 Die Variable LOGONSERVER verwenden
  gp 15.12 Die Möglichkeiten der Gruppenverschachtelung nutzen
  gp 15.13 Laufwerkszuordnungen für Unterabteilungen einrichten
  gp 15.14 Der Befehl »subst« als Alternative zu Freigaben
  gp 15.15 Den Ablauf des Anmeldeskriptes beschleunigen
  gp 15.16 Unterroutinen einsetzen
  gp 15.17 Skripte mit dem Tool Kix32 rasend schnell machen
  gp 15.18 Switch User nutzen, um mit beliebigen Rechten zu operieren
  gp 15.19 Beispiele für die Anwendung von SU
  gp 15.20 Psexec als Alternative zu Runas, SU oder MakeMeAdmin
  gp 15.21 Ein zentrales Verzeichnis für temporäre Dateien anlegen
  gp 15.22 Umgebungsvariable setzen
  gp 15.23 Netzdrucker zentral den Clients oder Benutzern zuweisen
  gp 15.24 Informationen über den Computer oder den angemeldeten Benutzer auf dem Bildschirm anzeigen
  gp 15.25 BGInfo von www.sysinternals.com
  gp 15.26 Verknüpfungen mit dem Tool SHORTCUT.EXE generieren
  gp 15.27 Hardware- und Softwareinformationen in einer zentralen Serverfreigabe sammeln
  gp 15.28 MSINFO32 inventarisiert Ihre Computer
  gp 15.29 Einen Nachrichtentext bei der Anmeldung anzeigen
  gp 15.30 Zugriff auf Programme zum Bearbeiten der Registrierung verhindern
  gp 15.31 Ein vollständiges Beispielskript für unsere Organisation »Company.local«
    gp 15.31.1 Anmeldeskript für den Small Business Server
  gp 15.32 Visual-Basic-Skripte verwenden


Rheinwerk Computing

15.10 Exkurs zum Verständnis des Befehls »if errorlevel Zahl«  toptop

Der Errorlevel liefert beim Tool ifmember.exe die Anzahl der Gruppen zurück, in denen der Anwender ein Mitglied ist. Der Befehl if errorlevel Zahl oder auch seine Negation if not errorlevel Zahl kann jedoch generell dazu genutzt werden, den Erfolg oder Misserfolg von Befehlen abzufragen. Sie können sich den erzeugten Errorlevel einmal anzeigen lassen, indem Sie dem Testuser folgendes Anmeldeskript zuweisen:

@echo off
\\s1\netlogon\util\ifmember.exe "Company\Verkauf" "Company\Einkauf"
echo %ERRORLEVEL%
pause

Machen Sie den Testuser zum Mitglied der Gruppen Verkauf und Einkauf und melden Sie sich unter der Kennung Testuser an. Bei der Abarbeitung des Anmeldeskriptes erhalten Sie die Meldung echo 2, weil Testuser Mitglied von beiden Gruppen ist. Entfernen Sie die Kennung Testuser aus der Gruppe Einkauf und melden Sie sich erneut unter Testuser an. Sie erhalten die Meldung echo 1. Ändern Sie das Anmeldeskript wie folgt ab:

@echo off
net use i: /d
\\s1\netlogon\util\ifmember.exe "Company\Verkauf"
echo %ERRORLEVEL%
if errorlevel 1 echo %USERNAME% ist Mitglied von Verkauf!
echo %ERRORLEVEL%
if errorlevel 1 net use I: \\s1\Verkauf
echo %ERRORLEVEL%
pause

Melden Sie sich wieder als Testuser an. Sie erhalten folgende Meldungen:

1
testuser ist Mitglied von Verkauf!
1
Der Befehl wurde erfolgreich ausgeführt!
0
Drücken Sie eine beliebige Taste...

Aus diesem Beispiel lernen Sie Folgendes: Da Testuser Mitglied von Verkauf ist, ist der Errorlevel zuerst gleich 1. Der Befehl echo %USERNAME% ist Mitglied von Verkauf! wird zwar fehlerlos durchgeführt, verändert aber den Wert des Errorlevels nicht. Der nachfolgende Befehl echo %ERRORLEVEL% zeigt einen unveränderten Errorlevel von 1 an. Der dann folgende Befehl if errorlevel 1 net use I: \\s1\Verkauf wird erfolgreich ausgeführt. Folglich ist danach der Wert des Errorlevels gleich 0. Mit der Abfrage des Errorlevels kann man also den Erfolg von Befehlen abfragen. Hätten Sie vergessen, das Verzeichnis Verkauf freizugeben, oder hätten Sie sich vertippt und statt if errorlevel 1 net use I: \\s1\Verkauf den Befehl if errorlevel 1 net use I: \\s1\Verkoff eingefügt, so würden Sie folgende Meldungen erhalten:

1
testuser ist Mitglied von Verkauf!
Systemfehler 53 aufgetreten.
Der Netzwerkpfad wurde nicht gefunden.
2
Drücken Sie eine beliebige Taste...

Sie können also mit der Abfrage des Errorlevels feststellen, ob Befehle erfolgreich abgearbeitet wurden. Wenn sie fehlerhaft abgearbeitet wurden, können Sie aufgrund des erzeugten Errorlevels alternative Schritte einleiten.

Im folgenden Beispiel führt der Befehl net use I: \\S1\Verkoff zu einem Errorlevel, der größer als 0 ist. Mittels der nachfolgenden echo-Befehle werden drei Meldungen auf dem Bildschirm erzeugt. Der Befehl echo mit angehängtem Punkt (echo.) erzeugt eine Leerzeile, damit die durch den Pause-Befehl erzeugte Aufforderung Drücken Sie eine beliebige Taste… von diesen Meldungen optisch getrennt wird. Sobald der Anwender dann eine Taste drückt, wird das Anmeldeskript mit dem Befehl exit an dieser Stelle beendet.

@echo off
net use I: /d
\\s1\netlogon\util\ifmember.exe "Company\Verkauf"
if errorlevel 1 net use I: \\S1\Verkuff
if not errorlevel 0 goto OKAY
   echo Fehler in der Ausführung des Anmeldeskriptes
   echo Melden Sie sich bei der Systemadministration!
   echo Die weitere Abarbeitung des Anmeldeskriptes
   echo wird abgebrochen.
   echo.
   pause
   exit
:OKAY
echo Das Laufwerk I: wurde erfolgreich mit der Freigabe Verkauf  verbunden.
pause

In obigem Beispiel hätte der Befehl if errorlevel 0 goto OKAY übrigens nicht das gewünschte Resultat erbracht. Nimmt nämlich der Errorlevel z.B. den Wert 2 an, so hat er gleichzeitig auch alle Werte unterhalb von 2, also den Wert 1 und den Wert 0. Dieses können Sie überprüfen, indem Sie das Beispiel-Anmeldeskript errorlevel.cmd testen:

@echo off
net use i: /del
\\s1\netlogon\util\ifmember "Company\Verkauf"
if errorlevel 1 net use I: \\s1\Verkoff
if errorlevel 2 echo Errorlevel hat den Wert 2
if errorlevel 1 echo Errorlevel hat aber auch den Wert 1
if errorlevel 0 echo Errorlevel hat aber auch den Wert 0
pause

Alle drei echo-Zeilen werden angezeigt. Wenn Sie jetzt »Verkoff« in »Verkauf« berichtigen und das Skript erneut durchlaufen lassen, wird nur noch die letzte echo-Zeile Errorlevel hat aber auch den Wert 0 angezeigt.

Die Auswertung des Erfolgs oder Misserfolgs von if errorlevel-Befehlen muss also sauber durchgetestet werden.

 << zurück
  
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: Windows Server 2012 R2






 Windows Server
 2012 R2


Zum Rheinwerk-Shop: Office 365






 Office 365


Zum Rheinwerk-Shop: Microsoft Hyper-V






 Microsoft Hyper-V


Zum Rheinwerk-Shop: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


Zum Rheinwerk-Shop: Windows 8 für Administratoren






 Windows 8 für
 Administratoren


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo





Copyright © Rheinwerk Verlag GmbH 2006
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern