Power Shell 2.0 für Windows XP + Server 2003 automatisccher Mail Versand
Hallo liebe Community!
Aus gegebenem Anlass habe ich mich ein wenig mit automatischen Mailversand von Protokollen etc. beschäftigt. Für Windows 7 oder höher konnte ich mir schon etwas basteln:
Doch wie sieht es denn mit Power Shell 2.0 aus? Ich finde da keinen Weg das Passwort zu verschlüsseln damit es nicht missbraucht wird.
Habt ihr da ein Tool welches das kann? Oder gibt es gar auf Power Shell 2.0 Ebene eine Lösung?
Danke fürs lesen und freue mich schon auf eure Vorschläge.
Vielen Dank und beste Grüße an die Adminwelt!
Aus gegebenem Anlass habe ich mich ein wenig mit automatischen Mailversand von Protokollen etc. beschäftigt. Für Windows 7 oder höher konnte ich mir schon etwas basteln:
1.
#in Powershell eingeben: (Get-Credential).password | ConvertFrom-SecureString > V:\SVEN\BATCH\password.txt
2.
$SMTPServer = "mail.gmx.net"
#$password = ConvertTo-SecureString "testtest" -AsPlainText -Force
$pw = Get-Content .\SVEN\BATCH\password.txt | ConvertTo-SecureString
$cred = New-Object System.Management.Automation.PSCredential "Benutzer", $pw
$From = "Absender"
$To = 'Empfänger'
$Subject = "testergutenacht"
$Body = @"
Nachricht
Nachricht
"@
$Attachments = "V:\mail.txt"
#################################################################
Send-MailMessage -To $To -From $From -Subject $Subject -Body $Body -SmtpServer $SMTPServer -Credential $cred -encoding ([System.Text.Encoding]::UTF8) -Attachments $Attachments -UseSsl -Port 587
Doch wie sieht es denn mit Power Shell 2.0 aus? Ich finde da keinen Weg das Passwort zu verschlüsseln damit es nicht missbraucht wird.
Habt ihr da ein Tool welches das kann? Oder gibt es gar auf Power Shell 2.0 Ebene eine Lösung?
Danke fürs lesen und freue mich schon auf eure Vorschläge.
Vielen Dank und beste Grüße an die Adminwelt!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Dani am 16.08.2014 um 19:40:43 Uhr
Formatierungshilfen hinzugefügt.
Content-ID: 246680
Url: https://administrator.de/contentid/246680
Ausgedruckt am: 26.11.2024 um 10:11 Uhr
7 Kommentare
Neuester Kommentar
Moin,
du kannst das Passwort als verschlüsselten SecureString als Plaintext auf der Maschine generieren die das Script nutzen soll:
http://gallery.technet.microsoft.com/scriptcenter/Encrypt-Password-and- ...
Dieser String lässt sich dann nur auf der selben Maschine und dem Benutzeraccount nutzen der den String generiert hat.
Grüße Uwe
du kannst das Passwort als verschlüsselten SecureString als Plaintext auf der Maschine generieren die das Script nutzen soll:
http://gallery.technet.microsoft.com/scriptcenter/Encrypt-Password-and- ...
Dieser String lässt sich dann nur auf der selben Maschine und dem Benutzeraccount nutzen der den String generiert hat.
Grüße Uwe
Zitat von @Tranministrator:
Leider noch einige unserer Kunden, so 5 bis 8 % die noch "nicht bereit" sind umzusteigen und da habe ich gedacht, dass
es da auch eine Lösung geben muss
Die Seite sagt nicht das es mit XP nicht möglich wäre, der Autor hat es vermutlich nur nicht mit XP testen können ...Leider noch einige unserer Kunden, so 5 bis 8 % die noch "nicht bereit" sind umzusteigen und da habe ich gedacht, dass
es da auch eine Lösung geben muss
Zitat:
<<This script is tested on these platforms by the author. It is likely to work on other platforms as well. If you try it and find that it works on another platform, please add a note to the script discussion to let others know.>>
Also ich habe das hier gerade mal mit XP und Powershell 2.0 mit Net Framework 2.0 getestet, geht hier einwandfrei.
Demo mit Ver- und Entschlüsselung via Securestring (Getestet auf Windows XP SP3 mit Powershell 2.0 und .NET Framework 2.0)
$password = read-host -prompt "Passwort eingeben"
# Password verschlüsselt in einer Datei speichern
$secure = ConvertTo-SecureString $password -force -asPlainText | ConvertFrom-SecureString | out-file .\securepassword.txt
write-host "Passwort wurde in die Datei 'securepassword.txt' übertragen"
# Passwort aus dem Inhalt der Datei entschlüsseln
$decrypted = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR((gc ".\securepassword.txt"| ConvertTo-SecureString)))
write-host "Decrypte das Password aus dem Inhalt der Datei ... das Passwort lautet: '$decrypted'"
Wichtig ist wie erwähnt, das der Secure-String nur auf dem selben Rechner mit dem User-Account verwendet werden kann, der auch den SecureString erstellt hat!
D.h. also das deine Scripte mit den Rechten dieses Useraccount's gestartet werden müssten, damit der SecureString funktioniert.
N'Abend.
Wenn du dich von Powershell lösen kannst: Blat.
Cheers,
jsysde
Wenn du dich von Powershell lösen kannst: Blat.
Cheers,
jsysde