Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Logon Script mit spezieller Begrüssung (Uhrzeit)

Frage Entwicklung Batch & Shell

Mitglied: informatiklehrling

informatiklehrling (Level 1) - Jetzt verbinden

21.05.2012 um 12:01 Uhr, 7794 Aufrufe, 22 Kommentare

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

Gruss informatiklehrling
Mitglied: MisterExpulso
21.05.2012 um 12:32 Uhr
Hallo,

wie wäre es hiermit:

01.
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
Bitte warten ..
Mitglied: MrTrebron
21.05.2012 um 12:50 Uhr
Servus,

klingt irgendwie nach deiner Hausaufgabe.

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

Gruss
informatiklehrlig
Bitte warten ..
Mitglied: informatiklehrling
21.05.2012 um 12:57 Uhr
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
Bitte warten ..
Mitglied: pieh-ejdsch
21.05.2012, aktualisiert um 14:49 Uhr
moin informatiklehrling,

als Test in der CMD-Line
01.
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
01.
echo %time: =% |(findstr ...
Gruß Phil
Bitte warten ..
Mitglied: Biber
21.05.2012, aktualisiert um 13:17 Uhr
[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?

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

Gruß Phil
[/OT]
Bitte warten ..
Mitglied: informatiklehrling
21.05.2012 um 13:45 Uhr
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
Bitte warten ..
Mitglied: informatiklehrling
21.05.2012 um 14:00 Uhr
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
Bitte warten ..
Mitglied: MisterExpulso
21.05.2012 um 14:05 Uhr
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
Bitte warten ..
Mitglied: informatiklehrling
21.05.2012 um 14:09 Uhr
Hallo DB,

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

Gruss
informatiklehrling
Bitte warten ..
Mitglied: pieh-ejdsch
21.05.2012, aktualisiert um 15:39 Uhr
Hallo informatiklehrling,

die Spagetticodes sehen ja nicht so Appetitlich aus.
Eine Übersichlichere Batch Variante wäre in etwa so:
01.
echo off 
02.
 
03.
echo %time: =%^ 
04.
 |(findstr /vbc:4: 			||echo Hallo, aufwachen %username% )^ 
05.
 |(findstr /bvrc:[5-9]: /c:1[01]: 	||echo Guten Morgen %username% )^ 
06.
 |(findstr /rvbc:1[23]: 		||echo Mahlzeit %username% )^ 
07.
 |(findstr /rbvc:1[4-7]: 		||echo Tach %username% )^ 
08.
 |(findstr /vrbc:1[89]: /c:2[0-2]: 	||echo n'Abend %username% )^ 
09.
 | findstr /v : 			||echo Nachtschicht %username% 
10.
 
11.
pause
Damit sind auch die Wertebereiche gut aufgelistet.

Gruß Phil
Bitte warten ..
Mitglied: informatiklehrling
21.05.2012 um 15:02 Uhr
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
Bitte warten ..
Mitglied: Skyemugen
21.05.2012, aktualisiert um 15:04 Uhr
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 ...
Bitte warten ..
Mitglied: informatiklehrling
21.05.2012 um 15:09 Uhr
Hallo Skyemugen

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

Gruss
informatiklehrling
Bitte warten ..
Mitglied: bastla
21.05.2012, aktualisiert um 15:18 Uhr
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") ...

"||" steht (hier) übrigens für "nicht gefunden" (und heißt allgemeiner formuliert: Die vorige Anweisung wurde mit einem Errorlevel <> 0 beendet).

Grüße
bastla
Bitte warten ..
Mitglied: informatiklehrling
21.05.2012 um 15:19 Uhr
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
Bitte warten ..
Mitglied: pieh-ejdsch
21.05.2012, aktualisiert um 15:31 Uhr
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.

01.
rem ausgeschrieben 
02.
echo 12: |findstr /b /v /r /c:12: ||echo zwoelf gefunden. 
03.
rem gekuerzt 
04.
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
Bitte warten ..
Mitglied: informatiklehrling
21.05.2012 um 15:30 Uhr
Zitat von pieh-ejdsch:

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


Ja trotzdem danke

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

Gruss
informatiklehrling
Bitte warten ..
Mitglied: Skyemugen
21.05.2012 um 16:45 Uhr
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 ^__^
Bitte warten ..
Mitglied: Biber
21.05.2012 um 16:58 Uhr
[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....
[/nu aber sowas die Todeskralle von Oh-Teh]
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Microsoft
Windows 10 logon script: alle Apps löschen (3)

Frage von thomasreischer zum Thema Microsoft ...

Batch & Shell
gelöst PowerShell Script Move-Item nach x Tagen (5)

Frage von lupolo zum Thema Batch & Shell ...

VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
Suche passender Treiber (12)

Frage von stolli zum Thema Windows Server ...

Peripheriegeräte
Wlan stört Funkmaus (11)

Frage von Falaffel zum Thema Peripheriegeräte ...

Peripheriegeräte
gelöst USB Festplatte verliert Laufwerksbuchstabe (9)

Frage von cese4321 zum Thema Peripheriegeräte ...