Login Erweiterung mit Geburtstagsdatum
Ich bin mit Kix leider nicht vertraut und hoffe auf ein paar Tipps!
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!
Please also mark the comments that contributed to the solution of the article
Content-Key: 160440
Url: https://administrator.de/contentid/160440
Printed on: May 4, 2024 at 08:05 o'clock
6 Comments
Latest comment
Moin,
meine Empfehlung wäre der Umstieg auf Ini-Dateien.
Beispielsweise:
[Liste]
Name Vorname=2011/06/14
Name Vorname=2011/09/21
Name Vorname=2011/03/31
Dann könntest Du einfach mittels
den Geburtstag auslesen
und mittels
Informationen zurückschreiben, die wieder auswertbar gelesen werden können.
Markus
NS: Warum speicherst Du eine Geburtsliste eigentlich mit Jahreszahl? Fallen die Tage unterschiedlich aus ?
meine Empfehlung wäre der Umstieg auf Ini-Dateien.
Beispielsweise:
[Liste]
Name Vorname=2011/06/14
Name Vorname=2011/09/21
Name Vorname=2011/03/31
Dann könntest Du einfach mittels
$rc = ReadProfileString (<Pfad/Datei>; "Liste"; <Name Vorname>")
den Geburtstag auslesen
und mittels
$rc = WriteProfileString (<Pfad/Datei>; "Anzahl"; <Name Vorname>";<Counter>)
Markus
NS: Warum speicherst Du eine Geburtsliste eigentlich mit Jahreszahl? Fallen die Tage unterschiedlich aus ?
Moin Redmen,
was hat denn diese Zeile zu bedeuten:
Du könntest Dir mittels WriteProfileString ja ein Flag im UserProfile schreiben. Frei nach dem Motto:
[Gratuliert]
2009=1
2010=0
Mit ReadProfileString kannst Du ja prüfen, ob dieses Jahr schon gratuliert wurde.
Dann funktioniert das auch, wenn er im 4wöchigen Urlaub Geburtstag hatte
Markus
was hat denn diese Zeile zu bedeuten:
$bdayflag = "%USERPROFILE%\flags\birthday.flag"
Du könntest Dir mittels WriteProfileString ja ein Flag im UserProfile schreiben. Frei nach dem Motto:
[Gratuliert]
2009=1
2010=0
Mit ReadProfileString kannst Du ja prüfen, ob dieses Jahr schon gratuliert wurde.
Dann funktioniert das auch, wenn er im 4wöchigen Urlaub Geburtstag hatte
Markus
Ich kenne mich mit diesem Scripting nicht aus.
Vielleicht hilft Dir diese Seit noch weiter. Hier haben User Funktionen geschrieben, die einem das Leben etwas erleichtern.
Ich fürchte aber, mal eben ist nicht, aber falls sich Dein Aufgabengebiet erweitert ....
Markus