Login Script für Geburtstage
Hallo Gemeinde,
ich benötige Hilfe bei der Erstellung eines Login Scripts. Diese Script soll auslesen, welches Datum ist und wenn es ein bestimmtes Datum ist (z.B.: 30. November), soll der IE eine bestimmte html Datei öffnen.
Zur Erklärung:
Wir haben vor kurzem den Wechsel von Novell NetWare auf Microsoft Server vollzogen. Bei Novell hatte ich so ein Login Script erstellt. In diesem Script war jeder Geburtstag hinterlegt.
Wenn also Herr XY Geburtstag hatte, wurde nach der Anmeldung bei allen Usern (und auch bei Herrn XY) automatisch eine vorbereitete HTML-Geburtstags-Seite im Internet-Explorer geöffnet.
Nun weiß ich aber die Befehle nicht, die man bei einem Login Script unter Windows benutzt.
Könnt ihr mir helfen, da hier jetzt alle diese Erinnerung vermissen.
Hier mal das Script unter Novell:
IF DAY="06" AND MONTH="10" THEN
WRITE "Heute ist Geburtstag von Herr XY!"
@ C:\Programme\Internet Explorer\iexplore.exe R:\Bilderarchiv\Internet\Birthday\Herr_XY.html
END
Unser jetziges Login Script ist ein VBS Script.
ich benötige Hilfe bei der Erstellung eines Login Scripts. Diese Script soll auslesen, welches Datum ist und wenn es ein bestimmtes Datum ist (z.B.: 30. November), soll der IE eine bestimmte html Datei öffnen.
Zur Erklärung:
Wir haben vor kurzem den Wechsel von Novell NetWare auf Microsoft Server vollzogen. Bei Novell hatte ich so ein Login Script erstellt. In diesem Script war jeder Geburtstag hinterlegt.
Wenn also Herr XY Geburtstag hatte, wurde nach der Anmeldung bei allen Usern (und auch bei Herrn XY) automatisch eine vorbereitete HTML-Geburtstags-Seite im Internet-Explorer geöffnet.
Nun weiß ich aber die Befehle nicht, die man bei einem Login Script unter Windows benutzt.
Könnt ihr mir helfen, da hier jetzt alle diese Erinnerung vermissen.
Hier mal das Script unter Novell:
IF DAY="06" AND MONTH="10" THEN
WRITE "Heute ist Geburtstag von Herr XY!"
@ C:\Programme\Internet Explorer\iexplore.exe R:\Bilderarchiv\Internet\Birthday\Herr_XY.html
END
Unser jetziges Login Script ist ein VBS Script.
Please also mark the comments that contributed to the solution of the article
Kommentar vom Moderator Biber am Nov 11, 2010 um 14:54:42 Uhr
[Bereits gelösten] Beitrag verschoben von "Windows Server" nach "Bätches From Hell".
Content-Key: 154341
Url: https://administrator.de/contentid/154341
Printed on: April 25, 2024 at 08:04 o'clock
10 Comments
Latest comment
Hallo das ganze liese sich als Batch_Datei einbinden.
der Code wäre
Bei
bei
musst du jeweils das :dayXX und das Start anpassen
(richtige Nummer zum Datum und HTML-File)
Das Script speicherst du als LOGON.BAT ab, und legst du auf dem Server ab.
Dann noch ne Verknüpfung in den Autostart-Ordner bei den Clients und e-voila
der Code wäre
@ echo of
if DATE == 01.02.1990 goto :day1
if DATE == 02.02.1990 goto :day2
if DATE == 03.02.1990 goto :day3
if DATE == 04.02.1990 goto :day4
goto :exit
:day1
echo heute hat Herr XY geburtstag
start C:\Programme\Internet Explorer\iexplore.exe R:\Bilderarchiv\Internet\Birthday\Herr_XY.html
goto :exit
:day2
echo heute hat Herr XYZ geburtstag
start C:\Programme\Internet Explorer\iexplore.exe R:\Bilderarchiv\Internet\Birthday\Herr_XYZ.html
goto :exit
:exit
exit
Bei
if DATE == 04.02.1990 goto :day4
musst du darunter immer ergänzen (:day5, :Day6 usw)bei
:day2
echo heute hat Herr XYZ geburtstag
start C:\Programme\Internet Explorer\iexplore.exe R:\Bilderarchiv\Internet\Birthday\Herr_XYZ.html
goto :exit
echo heute hat Herr XYZ geburtstag
start C:\Programme\Internet Explorer\iexplore.exe R:\Bilderarchiv\Internet\Birthday\Herr_XYZ.html
goto :exit
musst du jeweils das :dayXX und das Start anpassen
(richtige Nummer zum Datum und HTML-File)
Das Script speicherst du als LOGON.BAT ab, und legst du auf dem Server ab.
Dann noch ne Verknüpfung in den Autostart-Ordner bei den Clients und e-voila
Moin,
wenn du von Novell kommst - schau dir mal Kixtart an.
Das ist in meinen Augen zum Thema Loginscript schneller, schöner als VBS.
btw: dein Script kann so nicht funktionieren - da fehlen zwei Gänse incl. deren Füßchen
Natürlich muß das dann so spät laufen, dass R bereits gemappt ist
In cmd sähe das so aus:
Gruß
edit
@ cewie auch du hast seine fehlenden Gänse übernommen
@ beide: Anrede bei den herrlichern Herren immer Herrn
;-] mädelz - schaut mal in das kleine Loch zwischen Indernet und Ex...
wenn du von Novell kommst - schau dir mal Kixtart an.
Das ist in meinen Augen zum Thema Loginscript schneller, schöner als VBS.
btw: dein Script kann so nicht funktionieren - da fehlen zwei Gänse incl. deren Füßchen
if ("@mdayno.@month"="4.November")
? "wir begrüßen Otto yxz zu seinem persönlichen Wiegenfest"
SHELL "%programfiles%\Internet Explorer\iexplore.exe" "R:\Bilderarchiv\Internet\Birthday\Herr_XY.html"
endif
Natürlich muß das dann so spät laufen, dass R bereits gemappt ist
In cmd sähe das so aus:
if "%date:~-10,2%.%date:~-7,2%"=="04.11" (
echo "Heute ist Geburtstag von Herrn XY!"
call "%programfiles%\Internet Explorer\iexplore.exe" "R:\Bilderarchiv\Internet\Birthday\Herr_XY.html"
)
Gruß
edit
@ cewie auch du hast seine fehlenden Gänse übernommen
@ beide: Anrede bei den herrlichern Herren immer Herrn
;-] mädelz - schaut mal in das kleine Loch zwischen Indernet und Ex...
Hallo Ferengie,
da wir sowas nicht einsetzen, habe ich nur mal schnell was zusammengezimmert (und natürlich nicht getestet).
Da ihr anscheinend die Daten im Script pflegt sollte es so funktionieren:
Was es tut: Wenn Tag und Monat von heute sind, öffnet sich ein Popup, das sich nach 10 Sekunden selbstständig wieder schließt, gleichzeitig wird die entspr. HTML-Datei im IE geöffnet.
Ein Vorschlag:
Die Geburtstage im ActiveDirectory pflegen (mangels Birthday-Feld könnte man dafür das extensionAttribute1 verwenden) hätte den Vorteil, dass alle Benutzer nur an einem Ort gepflegt werden müssen und mit lediglich einem Scriptblock abgedeckt sind.
In dem Birthday-Verzeichnis müssten dann trotzdem HTML-Dateien mit den Anmeldenamen des Benutzers liegen. Sebstverständlich könnten die HTML-Dateien auch zur Laufzeit erzeugt werden.
Was es tut: Wenn das extensionAttribute1 NICHT leer ist und der zwichen heute und dem extensionAttribute1 0 Tage Unterschied sind wird der Pfad zur HTML-Datei mit dem Anmeldenamen des Benutzers zusammengestellt und maximiert im IE geöffnet.
Ist wie schon gesagt ungetestet, ohne Fehlerbehandlung und daher als Skizze zu verstehen.
Gruß,
gemini
da wir sowas nicht einsetzen, habe ich nur mal schnell was zusammengezimmert (und natürlich nicht getestet).
Da ihr anscheinend die Daten im Script pflegt sollte es so funktionieren:
Was es tut: Wenn Tag und Monat von heute sind, öffnet sich ein Popup, das sich nach 10 Sekunden selbstständig wieder schließt, gleichzeitig wird die entspr. HTML-Datei im IE geöffnet.
If DatePart("d", Date) = "6" And DatePart("m", Date) = "10" Then
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Popup(Herzlichen Glückwunsch zum Geburtstag Herr XY", 10, "Geburtstag von Herrn XY", 1)
WshShell.Run(C:\Programme\Internet Explorer\iexplore.exe R:\Bilderarchiv\Internet\Birthday\Herr_XY.html)
End If
Ein Vorschlag:
Die Geburtstage im ActiveDirectory pflegen (mangels Birthday-Feld könnte man dafür das extensionAttribute1 verwenden) hätte den Vorteil, dass alle Benutzer nur an einem Ort gepflegt werden müssen und mit lediglich einem Scriptblock abgedeckt sind.
In dem Birthday-Verzeichnis müssten dann trotzdem HTML-Dateien mit den Anmeldenamen des Benutzers liegen. Sebstverständlich könnten die HTML-Dateien auch zur Laufzeit erzeugt werden.
Was es tut: Wenn das extensionAttribute1 NICHT leer ist und der zwichen heute und dem extensionAttribute1 0 Tage Unterschied sind wird der Pfad zur HTML-Datei mit dem Anmeldenamen des Benutzers zusammengestellt und maximiert im IE geöffnet.
Set objSysInfo = CreateObject("ADSystemInfo")
Set objUser = GetObject("LDAP://" & objSysInfo.UserName)
Set WshShell = WScript.CreateObject("WScript.Shell")
If Not objUser.extensionAttribute1 = "" Then
If DateDiff("d", Date, objUser.extensionAttribute1) = 0 Then
strPath = "R:\Bilderarchiv\Internet\Birthday\" & objUser.sAMAccountName & ".html"
WshShell.Run(C:\Programme\Internet Explorer\iexplore.exe strPath, 3, FALSE)
End If
End If
Ist wie schon gesagt ungetestet, ohne Fehlerbehandlung und daher als Skizze zu verstehen.
Gruß,
gemini
Salü,
gute Idee...
und die burzeltag.ini sähe so aus:
Gruß
und denk dran - die meisten haben deinen Aufruf des IE nur übernommen, ohne "" funktioniert der aber nicht.
Gruß
Ich habe mir überlegt, ob ich vielleicht eine "Birtday.ini" anlege und in diese jeden Geburtstag eintrage.
gute Idee...
for /f "tokens=1-3 delims=," %%a in ('findstr "%date:~-10,2%.%date:~-7,2%" "laufwerk\pfad\birthday.ini"') do (
echo Heute hat %%b Wiegenfest
call "%programfiles%\Internet Explorer\iexplore.exe" "%%c"
)
und die burzeltag.ini sähe so aus:
04.11,Franz.Branntwein,R:\Bilderarchiv\Internet\Birthday\Herr_Branntwein.html
Gruß
und denk dran - die meisten haben deinen Aufruf des IE nur übernommen, ohne "" funktioniert der aber nicht.
Gruß
Moin,
naja das wird aber in meinen Augen kompliziert..
Sinngemäß müßte das so laufen:
Und da sehe ich dein Konzept, wo jeder Geburtstag ein Block im Script ist am Ende (meines Lateins)
Ich würde dann wohl eher mit einem festen Script arbeiten wollen und die "Namen","Geburtstage","Webseiten" wären in einer eigenen csv Datei.
edit, das hab ich ja schon früher gedacht & geschrieben
Das nur mal vorab. evtl. fällt einem ja noch was anderes oder mir eine mögliche Stolperfalle ein....
Obwohl, der Pistazienman war ja schon da und hat den Haken drangeklebt.....
Gruß
naja das wird aber in meinen Augen kompliziert..
Sinngemäß müßte das so laufen:
- Wenn Heute Montag ist, wer könnte heute vor einem oder zwei Tagen Geburtstag gehabt haben.
Und da sehe ich dein Konzept, wo jeder Geburtstag ein Block im Script ist am Ende (meines Lateins)
Ich würde dann wohl eher mit einem festen Script arbeiten wollen und die "Namen","Geburtstage","Webseiten" wären in einer eigenen csv Datei.
edit, das hab ich ja schon früher gedacht & geschrieben
Das nur mal vorab. evtl. fällt einem ja noch was anderes oder mir eine mögliche Stolperfalle ein....
Aber dazu solltest du diesen Beitrag dahin verschieben, wo er hingehört - in Entwicklung Batches 4 Hell
Obwohl, der Pistazienman war ja schon da und hat den Haken drangeklebt.....
Gruß
Hallo Leute, ich bin neu hier und hab eine Frage betr. Login mit Geburtstag.
Wir haben hier ein Script, dass aus einer Datei der Name, und Geburtsdatum aus dem File "birthday.flag" ausliesst:
Name Vorname,2011/06/14
Name Vorname,2011/09/21
Name Vorname,2011/03/31
usw...
Nun das Script:
Also, wie ihr sieht, löst es eine Powerpoint Funktion aus beim Login vom betr. Geburtstagskind. Das funktioniert auch. Jetzt sollte das Script innert 7 Tage das Script weiterhin auslösen (@Date +7Days oder ähnlich) wenn z.b. der User sich erst 2 Tage nach seinem Geburtsag anmeldet.
Habt ihr mir da eine Lösung?
Danke im Vorraus!
Wir haben hier ein Script, dass aus einer Datei der Name, und Geburtsdatum aus dem File "birthday.flag" ausliesst:
Name Vorname,2011/06/14
Name Vorname,2011/09/21
Name Vorname,2011/03/31
usw...
Nun das Script:
;----------------------------------------------------------------------------------------
; Birthday Routine
;----------------------------------------------------------------------------------------
:bday
At (6,8) "Check for Birthday ..."
;Variablen
$to=' -to itreport@@firma.ch,hrm2@@firma.ch'
$f=' -f itreport@@firma.ch'
$msg='"Geburtstag Batch - Erfolgreich ausgeführt bei @FULLNAME !"'
$msg2='"Ausgeführt auf: @wksta"'
$server=' -server blabla06'
;Name auslesen
$vorname=split(join(split(@FULLNAME,''),''),' ')[1]
$nachname=split(join(split(@FULLNAME,''),''),' ')
$jahr=split(join(split(@Date,''),''),'/')
$bdayflag = "%USERPROFILE%\flags\birthday.flag"
;Such String generieren
$create_bday = $vorname," ", $nachname,",",@DATE
$bday = JOIN($create_bday,"")
SHELL 'C:\WINDOWS\System32\CMD.EXE /C find "$bday" \\blabla\spezielletage$\bday\bday.txt > nul'
If not @ERROR
Goto bday_start
Else
Goto bday_fehler
:bday_start
If exist ("$bdayflag")= 0
Goto Powerpoint
Else
open(2,"$bdayflag",0)
$gespeichertesJahr = ReadLine(2)
Close(2)
EndIf
If $gespeichertesJahr <> $jahr
Del $bdayflag
:PowerPoint
SHELL '"%programfiles%\Microsoft Office\Office14\POWERPNT.EXE" /S "O:\Wichtige Infos_Dokumentation_Präsentation\Betrieb\Frei- und Geburtstage\Aktuell\bday\bday.ppt"'
If exist ("$bdayflag")= 0
open(2,"$bdayflag",5)
$x = WriteLine(2,$jahr)
Close(2)
shell "%logonserver%\NETLOGON\bday\blat\blat - $to $f -subject $msg -body $msg2 $server -q"
At (6,65) "[Done]"
Endif
Return
:bday_fehler
At (6,52) "[no birthday today]"
Return
Also, wie ihr sieht, löst es eine Powerpoint Funktion aus beim Login vom betr. Geburtstagskind. Das funktioniert auch. Jetzt sollte das Script innert 7 Tage das Script weiterhin auslösen (@Date +7Days oder ähnlich) wenn z.b. der User sich erst 2 Tage nach seinem Geburtsag anmeldet.
Habt ihr mir da eine Lösung?
Danke im Vorraus!
moin und willkommen,
mach dir selber eine Freude und stelle dir Frage in einem neuen eigenen Fred - am liebsten unter Kixtart und wenn du magst, dann editierst du deine Frage hier sinngemäß in - eine andere Baustelle [link linkbezeichnung].
Das Hier finden nur diejenigen, die hier schon mal waren oder durch eine Suchmaschine hierhin geleitet wurden.
Außerdem ist der Pistaziengrüne Haken schon drangebabscht.
Gruß & vielen dank für die code tags
mach dir selber eine Freude und stelle dir Frage in einem neuen eigenen Fred - am liebsten unter Kixtart und wenn du magst, dann editierst du deine Frage hier sinngemäß in - eine andere Baustelle [link linkbezeichnung].
Das Hier finden nur diejenigen, die hier schon mal waren oder durch eine Suchmaschine hierhin geleitet wurden.
Außerdem ist der Pistaziengrüne Haken schon drangebabscht.
Gruß & vielen dank für die code tags