Alle Zertifikate haben ein Ablaufdatum, welches meist noch weit in der Zukunft liegt. Wer erinnert sich schon noch an ein Zertifikat welches vor 2 Jahren oder noch länger gekauft wurde? Manche CAs versenden Erinnerungsmails, aber nicht alle. Für interne CAs kann vieleicht der CA-Reporter weiterhelfen. Wer nur wenige gekaufte Zertifikate hat, kann die mittels Excel und ein bisschen PowerShell verwalten, einfach Daten in die Liste eintragen, Geplante Aufgabe für die Powershell erstellen und schon ist es fertig, eben eine einfache Zertifikatsverwaltung:
Das PowerShell Script kann die Excel Datei einlesen und Erinnerungsmails an einen zentralen Ansprechpartner, sowie an die E-Mail Adresse des Antragstellers versenden.
Um eine Mail zu verschicken müssen nur die ersten 5 Zeilen in der Datei „Zertifikatsverwaltung.ps1“ angepasst werden:
$Filepath ="C:\Einfache Zertifikatsverwaltung\Zertifikatsverwaltung.xlsx" $MailanAntragsteller = "ja" $smtpserver = "192.168.10.1" $sender = "cert@frankysweb.de" $recipient = "certadmin@frankysweb.de"
Das Script und die Excel Datei müssen nicht im gleichen Ordner liegen, auch ein Netzlaufwerk kann angegeben werden. Auf dem Rechner der die PS1 Datei ausführt, muss Excel installiert sein. Die PS1 Datei kann per Aufgabenplanung einmal am Tag gestartet werden, damit Erinnerungsmails verschickt werden. Für die Aufgabenplanung genügt eine ein einfacher Task der die Powershell.exe mit der Angabe der PS1 Datei startet:
Programm:
Powershell.exe
Argumente:
-Command „& ‚C:\Einfache Zertifikatsverwaltung\Zertifikatsverwaltung.ps1′“
Download:
Hi Frank,
ich habe nun einmal 3 Testeinträge in die Tabelle gemacht. 3 mal meine Mailadresse eingetragen und verschiedene Ablaufdaten alle kleiner 60 Tage. Alle anderen Felder habe ich auch gefüllt.
Im Script habe ich dann als recipent noch ein Postfach eingetragen welches die Zusammenfassung bekommen soll.
1. Problem welches ggfs. keins ist denn die Mails an die Antragsteller werden alle zugestellt:
Öffne Excel Datei…
Werte Zertifikate aus…
Versende Mail an: [MAILADRESSE]
Fehler beim Aufrufen der Methode, da [System.Management.Automation.PSObject] keine Methode mit dem Namen „op_Addition“ enthält.
In C:\[SCRIPT-ABLAGEORT.ps1].ps1:65 Zeichen:3
+ $Certwarning += new-object PSObject -property @{Antragsteller=“$antragsteller“ …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (op_Addition:String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound
Versende Mail an: [MAILADRESSE]
Fehler beim Aufrufen der Methode, da [System.Management.Automation.PSObject] keine Methode mit dem Namen „op_Addition“ enthält.
In C:\[SCRIPT-ABLAGEORT.ps1]:65 Zeichen:3
+ $Certwarning += new-object PSObject -property @{Antragsteller=“$antragsteller“ …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (op_Addition:String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound
Versende Mail an: [MAILADRESSE]
Versende Übersicht an: [MAILADRESSE]
2. Problem:An alle Antragsteller wird brav die Mail verschickt, an das Postfach der Zusammenfassung auch, jedoch immer nur mit dem Eintrag aus der 2. Zeile. Die anderen beiden Einträge werden nicht angezeigt.
Hast du eine Lösung?!
Danke und Gruß
Peter
Hallo Peter,
da ich gerade selber über dieses Problem gestolpert bin und es noch keine Antwort gibt antworte ich mal auf diesen alten Beitrag.
Damit der Versand der Zusammenfassung klappt, muß man einmal die Zeile „$Certwarning =@()“ relativ am Anfang einfügen (z.B. unter „$CertStates =@()“) und zum anderen die Zeile „$Certwarning += new-object PSObject -property …“ ändern in „$Certwarning += $cert“
Dann kommen keine Fehler mehr und die Zusammenfassung ist sinnvoll gefüllt.
Gruß,
Jan