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

Powershell: S-MIME verschlüsselte und signierte E-Mail inkl. sicherem Anhang verschicken

Tipp Entwicklung Batch & Shell

Mitglied: colinardo

colinardo (Level 5) - Jetzt verbinden

16.06.2014, aktualisiert 20:12 Uhr, 4874 Aufrufe, 4 Kommentare, 3 Danke

Falls Ihr vor dieser Aufgabe stehen solltet, gibt es hier eine Lösung dafür:
Der Code benötigt eine DLL die aus einem Projekt bei codeproject.com entstanden ist (Der c# Quellcode ist dort einsehbar). Falls Ihr keine Möglichkeit zum Kompilieren des Codes habt, könnt Ihr diese hier herunterladen (Hinweis: benötigt .NET 3.5).
Powershell: Verschlüsselte und signierte E-Mail inkl. sicherem Anhang erstellen
Hinweise was anzupassen ist, findet Ihr im Quellcode
01.
# Code-Bibliothek laden 
02.
add-type -Path ".\Cpi.Net.SecureMail.dll" 
03.
 
04.
# Zertifikat zur Verschlüsselung und Signierung der Mail inkl. dessen Passwort angeben 
05.
$mycert = new-object System.Security.Cryptography.X509Certificates.X509Certificate2("D:\yourcryptocert.p12","PASSWORD_OF_CERTIFICATE") 
06.
 
07.
# Öffentliches Zertifikat das Empfängers laden 
08.
$recipientCert = new-object System.Security.Cryptography.X509Certificates.X509Certificate2("D:\recipient.cer") 
09.
 
10.
# Sichere Mail-Nachricht erstellen 
11.
$mail = new-object Cpi.Net.SecureMail.SecureMailMessage 
12.
 
13.
# Sender und Empfänger zur Nachricht hinzufügen 
14.
$mail.From = new-object Cpi.Net.SecureMail.SecureMailAddress("sender@domain.com","SENDERNAME",$mycert,$mycert) 
15.
$mail.To.Add((new-object Cpi.Net.SecureMail.SecureMailAddress("recipient@domain.com","RECIPIENTNAME",$recipientCert))) 
16.
 
17.
$mail.Subject = "Dies ist der Betreff der Nachricht" 
18.
$mail.Body = "Diese der Body der Nachricht" 
19.
 
20.
# Attachment zur Nachricht hinzufügen 
21.
$mail.Attachments.Add((new-object Cpi.Net.SecureMail.SecureAttachment("d:\yourattachment.txt"))) 
22.
 
23.
# Maileigenschaften festlegen (verschlüsselt und signiert) 
24.
$mail.IsSigned = $true 
25.
$mail.IsEncrypted = $true 
26.
 
27.
# SMTP-Client mit Credentials erstellen 
28.
$smtp = new-object System.Net.Mail.SmtpClient("smtp.yourdomain.com", 25) 
29.
$smtp.Credentials = new-object System.Net.NetworkCredential("SMTPUSERNAME","SMTPPASSWORD") 
30.
 
31.
# senden der Nachricht 
32.
$smtp.Send($mail)
Viel Erfolg
Grüße @colinardo
Mitglied: AnkhMorpork
16.06.2014 um 19:18 Uhr
Hallo,

feine Sache das!

Aber bei einigen wird es auf dasselbe Problem stoßen, das der TO hier hatte (http://www.administrator.de/forum/powershell-send-a-mime-encrypted-emai ...).

Danke dafür!

Gruß
ANKH
Bitte warten ..
Mitglied: colinardo
16.06.2014, aktualisiert um 19:36 Uhr
Hi Ankh,
naja, der Quellcode der Bibliothek ist ja wie beschrieben auf codeproject offen verfügbar und besteht auch nur aus nativen .NET Code , d.h wer Bedenken hat, kann sich den Quellcode der Bibliothek problemlos ansehen, und auch selber kompilieren, habe ich bereits gemacht und in keinster Weise anstößige Stellen gefunden (ist ja auch nicht besonders lang). Wer will kann sich das ganze ja dann auch komplett in Powershell umsetzen.

Grüße Uwe
Bitte warten ..
Mitglied: AnkhMorpork
16.06.2014, aktualisiert um 19:45 Uhr
Hi Uwe,

ja, klar soweit. Meine Bedenken galten auch nur den etwas bedenklicheren Geistern. Ich habe da wenig Berührungsängste, und werde das auch nicht nutzen, um den Offenbarungseid zu leisten ...

Alles Gute
ANKH
Bitte warten ..
Mitglied: 114757
16.06.2014, aktualisiert um 20:26 Uhr
Klasse, kommt wie gerufen und klappt hervorragend

Vielen Dank auch für die Bereitstellung der DLL, das hat es mir doch ziemlich erleichtert

Gruß
jodel32
Bitte warten ..
Neuester Wissensbeitrag
DSL, VDSL

Telekom blockiert immer noch den Port 7547 in ihrem Netz

(3)

Erfahrungsbericht von joachim57 zum Thema DSL, VDSL ...

Ähnliche Inhalte
Exchange Server
gelöst Sender von einer Mail mit einem Anhang suchen (3)

Frage von TheHawk zum Thema Exchange Server ...

Batch & Shell
gelöst PowerShell, Log Datei auslesen, bei Änderungen E-Mail senden (12)

Frage von swissbull zum Thema Batch & Shell ...

Outlook & Mail
gelöst E-Mail versenden mit PowerShell (6)

Frage von 112Timo zum Thema Outlook & Mail ...

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

Frage von lupolo zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...