informatiklehrling
Goto Top

Logon Script mit spezieller Begrüssung (Uhrzeit)

Hallo Administratoren

Ich bin neu im Forum und ebenfalls im Informatikbereich.
Ich bekamm den Auftrag, ein eigenes kleines Netzwerk (2 Server, 2 Clients, 1 Switch) zu erstellen.
Dies ging auch sehr gut. Nun soll ich ein Logon-Script erstellen, indem man je nach Uhrzeit unterschiedlich Begrüsst wird. Zum Beispiel zwischen 5-11 Uhr: "Guten Morgen %username%" und von 11-18 Uhr: "Hallo %username%".

Nun zu meinem Problem:
Ich habe keine Erfahrung mit Batch-Dateien. Wäre froh wen mir jemand von euch einen Tipp geben kann mit welcher Funktion dies gehen könnte (IF, FOR, WHILE, ect..). Hab bereits danach gegoogelt und einige Tutorials zu Batch-Dateien gesucht, wurde jedoch nicht wirklich schlau daraus, was mir in irgend einer Weise weiterhelfen kann.

Bedanke mich schon mal bei euch face-smile

Gruss informatiklehrling

Content-ID: 185238

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

Ausgedruckt am: 24.11.2024 um 09:11 Uhr

86263
86263 21.05.2012 um 12:32:51 Uhr
Goto Top
Hallo,

wie wäre es hiermit:

if %time:~0,2% geq 11 if %time:~0,2% leq 18 @echo Hallo %username%
Zur Erklärung: %time:~0,2% nimmt nur die ersten beiden Zeichen der Zeitvariable - die Stunden.
Dann wird geschaut ob die Stunde größer bzw. gleich 11 ist. Danach ob sie kleiner oder gleich 18 ist.

EQU - gleich
NEQ - nicht gleich
LSS - kleiner als
LEQ - kleiner als oder gleich
GTR - größer als
GEQ - größer als oder gleich


Entsprechend müsstest du das dann noch für die andere Ausgabe prüfen.


Gruß,
DB
MrTrebron
MrTrebron 21.05.2012 um 12:50:33 Uhr
Goto Top
Servus,

klingt irgendwie nach deiner Hausaufgabe.

Gruß
Norbert
informatiklehrling
informatiklehrling 21.05.2012 um 12:55:16 Uhr
Goto Top
Vielen Dank für die schnelle Antwort, werde es gleich mal ausprobieren.

Gruss
informatiklehrlig
informatiklehrling
informatiklehrling 21.05.2012 um 12:57:24 Uhr
Goto Top
Hallo Norbert,

Nein, im Informatikbereich haben wir keine Hausaufgabe.
Mein Vorgesetzer will, dass ich ein wenig lerne, ein Netzwerk zu administrieren, damit ich noch das Scripten bisschen lerne/verstehe, gab er mir diese Aufgabe.

Gruss
informatiklehrling
pieh-ejdsch
pieh-ejdsch 21.05.2012 aktualisiert um 14:49:11 Uhr
Goto Top
moin informatiklehrling,

als Test in der CMD-Line
for /l %i in (0 1 23) do @echo %i: |(findstr /bvrc:1[23]: ||echo Malzeit %username% ) |(findstr /bvrc:[5-9]: /c:1[01]: ||echo Guten Morgen %username% ) |(findstr /bvrc:1[4-7]: ||echo Tach %username% ) |(findstr /vbrc:[12][01289]: ||echo n'Abend %username% ) |(findstr /vbrc:4: ||echo Raus aus'm Nest %username% )|findstr /vr : ||echo nicht Einpennen %username%  
nicht Einpennen PH
nicht Einpennen PH
nicht Einpennen PH
nicht Einpennen PH
Raus aus'm Nest PH
Guten Morgen PH
Guten Morgen PH
Guten Morgen PH
Guten Morgen PH
Guten Morgen PH
Guten Morgen PH
Guten Morgen PH
Malzeit PH
Malzeit PH
Tach PH
Tach PH
Tach PH
Tach PH
n'Abend PH
n'Abend PH
n'Abend PH
n'Abend PH
n'Abend PH
nicht Einpennen PH


sonst mit
echo %time: =% |(findstr ...

Gruß Phil
Biber
Biber 21.05.2012 aktualisiert um 13:17:29 Uhr
Goto Top
[OT]
@pieh-ejdsch
Zitat von @pieh-ejdsch:
Malzeit PH
Malzeit PH
Was für Malbücher legt dir dein Cheffe denn zwischen 12 und 13h auf dein Spieltischchen? face-wink

Grüße
Biber
[/OT]
pieh-ejdsch
pieh-ejdsch 21.05.2012 um 13:37:16 Uhr
Goto Top
[OT]
@Biber
Hmm, ja ...
ab Morgen, dies mit der Überschrift "Worte mit und ohne H"

Gruß Phil
[/OT]
informatiklehrling
informatiklehrling 21.05.2012 um 13:45:11 Uhr
Goto Top
Hallo Phil,

Vielen Dank für deine Antwort.
Allerdings ist mir das einwenig zu komplex. Ich sollte es ja am Ende auch noch selber verstehen, was genau passiert. Die Antwort von DB hat mir bereits weiter geholfen.

Gruss
informatiklehrling
informatiklehrling
informatiklehrling 21.05.2012 um 14:00:40 Uhr
Goto Top
Hallo DB,

Meine Batchdatei sind nun wie folgt aus:

@echo off

if %time:~0,4% geq 11 if %time:~0,2% leq 18 @echo Hallo %username%. Heute ist der %date% um %time:~0,5%
if %time:~0,4% lss 11 if %time:~0,2% geqs 5 @echo Guten Morgen %username%. Heute ist der %date% um %time:~0,5%

pause

Wen ich die Datei ausführe funktioniert sie perfekt.

Nun hab ich sie als Logonfile angegeben. Im Gruppenrichtlinienverwaltungs-Editor hab ich noch zusätzlich das "Anmeldescript sichtbar ausführen" aktiviert.

Hab mich mit einem test-Client angemeldet, jedoch erscheint die Batchdatei nicht. Hab es dann im AD dem Benutzer direkt zugewiesen und es erscheint immer noch nicht.
Hast du eine Ahnung oder Vermutung wo das Problem liegen könnte?

Gruss
informatiklehrling
86263
86263 21.05.2012 um 14:05:30 Uhr
Goto Top
Moin informatiklehrling,

schau dir mal die Rechte auf die Datei an.
Der Benutzer muss mindestens Ausführrechte haben.
Da du die Datei wie ich annehme als Administrator erstellt hast,
dürfte er diese im normalfall nicht haben.


Gruß,

DB
informatiklehrling
informatiklehrling 21.05.2012 um 14:09:36 Uhr
Goto Top
Hallo DB,

Nein die Gruppe Benutzer, in welcher der Test-Client ist, hat Ausführrechte..

Gruss
informatiklehrling
pieh-ejdsch
pieh-ejdsch 21.05.2012 aktualisiert um 15:39:01 Uhr
Goto Top
Hallo informatiklehrling,

die Spagetticodes sehen ja nicht so Appetitlich aus.
Eine Übersichlichere Batch Variante wäre in etwa so:
echo off

echo %time: =%^
 |(findstr /vbc:4: 			||echo Hallo, aufwachen %username% )^
 |(findstr /bvrc:[5-9]: /c:1[01]: 	||echo Guten Morgen %username% )^
 |(findstr /rvbc:1[23]: 		||echo Mahlzeit %username% )^
 |(findstr /rbvc:1[4-7]: 		||echo Tach %username% )^
 |(findstr /vrbc:1[89]: /c:2[0-2]: 	||echo n'Abend %username% )^  
 | findstr /v : 			||echo Nachtschicht %username%

pause

Damit sind auch die Wertebereiche gut aufgelistet.

Gruß Phil
informatiklehrling
informatiklehrling 21.05.2012 um 15:02:18 Uhr
Goto Top
Das sieht interessant aus.
Jedoch fand ich keine Infos über "findstr" oder "vbrc:4: bvrc:[5-9]: /c:1[01]:". Könntest du mir das erklären oder einen Link zu einer Erklärung schicken?
Dann wäre das ebenfalls eine gute Variante.
Weiss nicht ob du gesehen hast, das ein weiteres Problem aufgetaucht ist:

Zitat

@echo off

if %time:~0,4% geq 11 if %time:~0,2% leq 18 @echo Hallo %username%. Heute ist der %date% um %time:~0,5%
if %time:~0,4% lss 11 if %time:~0,2% geqs 5 @echo Guten Morgen %username%. Heute ist der %date% um %time:~0,5%

pause

Wen ich die Datei ausführe funktioniert sie perfekt.

Nun hab ich sie als Logonfile angegeben. Im Gruppenrichtlinienverwaltungs-Editor hab ich noch zusätzlich das "Anmeldescript sichtbar ausführen" aktiviert.

Hab mich mit einem test-Client angemeldet, jedoch erscheint die Batchdatei nicht. Hab es dann im AD dem Benutzer direkt zugewiesen und es erscheint immer noch nicht.
Hast du eine Ahnung oder Vermutung wo das Problem liegen könnte?

Gruss
informatiklehrling
Skyemugen
Skyemugen 21.05.2012 aktualisiert um 15:04:13 Uhr
Goto Top
Aloha Phil ... (?)

[totally OT] neeeein, das beste Jackie Chan Bild hat er durch ... ein Malzeitbuch ersetzt ...{/OT]

greetz André

P.S.: @TE:

Das sieht interessant aus.
Jedoch fand ich keine Infos über "findstr" oder "vbrc:4: bvrc:[5-9]: /c:1[01]:". Könntest du mir das erklären oder einen Link zu einer Erklärung schicken?

findstr /? in der cmd ausführen soll helfen, sagt man ...
informatiklehrling
informatiklehrling 21.05.2012 um 15:09:13 Uhr
Goto Top
Hallo Skyemugen

Ja hast recht, allerdings gibts mir da keine Info über vbrc aus.
Google hat mich ebenfalls nicht weiter gebracht.

Gruss
informatiklehrling
bastla
bastla 21.05.2012 aktualisiert um 15:18:44 Uhr
Goto Top
Hallo informatiklehrling und willkommen im Forum!
allerdings gibts mir da keine Info über vbrc aus
Nicht über alle Schalter zusammen, aber doch für jeden einzelnen (also zB "/V") ...


Grüße
bastla
informatiklehrling
informatiklehrling 21.05.2012 um 15:19:32 Uhr
Goto Top
Hallo bastla

Achso jetzt versteh ich das. Wusste nicht das man mehrere Parameter direkt hinter einander auflisten kann. Wie gesagt bin noch ein Anfänger in der Scriptsprache. Eigentlich im kompletten Informatikbereich.
Vielen dank für die Info.

Gruss
informatiklehrling
pieh-ejdsch
pieh-ejdsch 21.05.2012 aktualisiert um 15:31:07 Uhr
Goto Top
moin André, moin Informatiklehrling,

Das sieht interessant aus.
Nicht war!?

Schon alleine deshalb, weil die Ausgaben bis hinten Durchgereicht werden. Dies erledigt die Klammerung vom findstr und der zugehörigen Ausgabe. Erst dann werden die Vorherigen Befehle entrechend als einer ge-Piped.

Beim findstr können ja die Schalter durcheinander und aneinandergehangen werden (wie bei xcopy etc.). Der Schalter C: kann dann auch mehrmals verwendet werden.

Mir dem Schalter R werden Trotz Schalter C: auch reguläre Ausdrücke gesucht.

rem ausgeschrieben
echo 12: |findstr /b /v /r /c:12: ||echo zwoelf gefunden.
rem gekuerzt
echo 13: |findstr /bvrc:13: ||echo drei Zehen gefunden!

[Edit]bastla hat ja auch schon ...[/Edit]
[totally OT] neeeein, das beste Jackie Chan Bild hat er durch ...
Das war doch Bruce Lee(oder sein Double). Und als Quetschkopp gefällt mir das Bild nicht!

Gruß Phil
informatiklehrling
informatiklehrling 21.05.2012 um 15:30:25 Uhr
Goto Top
Zitat von @pieh-ejdsch:

[Edit]bastla hat ja auch schon ...[/Edit]


Ja trotzdem danke face-smile

Gruss
informatiklehrling
informatiklehrling
informatiklehrling 21.05.2012 um 16:17:40 Uhr
Goto Top
So hab das letzte Problem auch noch lösen können.
Vielen Dank allen die mir geholfen haben.

Gruss
informatiklehrling
Skyemugen
Skyemugen 21.05.2012 um 16:45:27 Uhr
Goto Top
Zitat von @pieh-ejdsch:
Das war doch Bruce Lee(oder sein Double). Und als Quetschkopp gefällt mir das Bild nicht!
Nah, ernsthaft? Bruce war es 100% nicht, sein Double wenn dann, sah wirklich eher wie Jackie aus, der macht auch sehr gerne diese Pose ^__^
Biber
Biber 21.05.2012 um 16:58:41 Uhr
Goto Top
[nu aber sowas die Todeskralle von Oh-Teh]
Zitat von @Skyemugen:
> Zitat von @pieh-ejdsch:
> ----
> Das war doch Bruce Lee(oder sein Double). Und als Quetschkopp gefällt mir das Bild nicht!
Nah, ernsthaft? Bruce war es 100% nicht, sein Double wenn dann, sah wirklich eher wie Jackie aus, ...
Je nun, nach 2 Stunden Ausmalen.... face-wink
[/nu aber sowas die Todeskralle von Oh-Teh]