redmen
Goto Top

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:

;----------------------------------------------------------------------------------------
; 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!

Content-Key: 160440

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

Printed on: April 26, 2024 at 21:04 o'clock

Member: djmugge
djmugge Feb 09, 2011 at 10:24:27 (UTC)
Goto Top
Interessanter Gedanke. Wo habt ihr das Script eingefügt? Als globales in den GPOs oder als Loginscript?
Member: BigWim
BigWim Feb 09, 2011 at 10:39:42 (UTC)
Goto Top
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
$rc = ReadProfileString (<Pfad/Datei>; "Liste"; <Name Vorname>")  

den Geburtstag auslesen

und mittels
$rc = WriteProfileString (<Pfad/Datei>; "Anzahl"; <Name Vorname>";<Counter>)  
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 ? face-wink
Member: Redmen
Redmen Feb 09, 2011 at 13:01:48 (UTC)
Goto Top
Wird als Loginscript ausgeführt
Member: Redmen
Redmen Feb 09, 2011 at 13:16:44 (UTC)
Goto Top
Hallo BigWim

Leider darf keine INI-Datei erstellt werden.
Die Liste ist mit der Jahreszahl wegen des Kalenders im Outlook vorhanden (Formatierung).

Ich kenne mich mit diesem Scripting nicht aus. Ich hab nur den Auftrag erhalten mal zu schauen ob man in diesem Geburi-Script die Tage danach zählen könnte.

Die andere Möglichkeit besteht, dass ich mit php ein Script erstelle, dass jede Zeile einliest, die dann mit Namen 7x ausgibt und mit einem Tag mehr im Datum erstellt, also:

Meier Fritz,2011/04/17
Meier Fritz,2011/04/18
Meier Fritz,2011/04/19
Meier Fritz,2011/04/20
Meier Fritz,2011/04/21
Meier Fritz,2011/04/22
Meier Fritz,2011/04/13
Knopp Hans,2011/07/29
Knopp Hans,2011/07/30
Knopp Hans,2011/07/31
Knopp Hans,2011/08/01
Knopp Hans,2011/08/02
Knopp Hans,2011/08/03
Knopp Hans,2011/08/04
usw...

Diese Liste von Geburtstagen wird nur 1x im Jahr verändert. Hätte gedacht, jemand hat schnell eine Lösung. Es sollte nichts auwendiges sein.
Member: BigWim
BigWim Feb 09, 2011 at 14:00:57 (UTC)
Goto Top
Moin Redmen,

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 face-wink

Markus
Member: BigWim
BigWim Feb 09, 2011 at 14:07:08 (UTC)
Goto Top
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