E-maileket küldhet a PowerShell használatával
A Windows Powershell segítségével e-maileket küldhet közvetlenül a rendszerről. Alapvetően ez viszonylag egyszerű, de a gyakorlatban gyakran kudarcot vall, mert még mindig hitelesítenie kell magát a levelező szolgáltatónál. Megmutatjuk, hogyan működik.
Küldjön e-maileket a PowerShell használatával
Biztonsági okokból a PowerShell nem engedélyezi, hogy a levelezőkiszolgáló jelszavai egyszerű szövegben legyenek a szkriptben. Ezért ezeket az adatokat külsőleg titkosítva kell mentenie, és be kell illesztenie egy trükkövel.
- E-mail küldéséhez használja a "Send-Mailmessage" parancsot, amely támogatja az összes szokásos paramétert. Részletesebb információkat erről a "Get-Help Send-Mailmegesage" oldalon talál.
- Legalább szükség van a feladóra, a címzettre, a tárgyra és a tartalomra, valamint a kimenő e-mail szerverre.
- Ha a kiszolgálót nem továbbítják kifejezetten, a PowerShell a "$ PSEmail Server" változó tartalmát használja. Így elmentheti ezt a kiszolgálót többszöri levélre előre a szkriptben, vagy még jobb, a saját PowerShell-profiljában.
- Ehhez nyissa meg a profilfájlt a »note pad.exe $ profile« használatával, és adja hozzá a »$ PS EmailServer =" smtpmail.t-online.de "« parancsot. Értékként használja a saját e-mail fiókjáért felelős szervert.
- Számos e-mail szerverhez azonban felhasználónévvel és jelszóval kell bejelentkezni. Legalább az előbbi átadható a »hitelesítő adatok« paraméterrel, amikor hívják. A végrehajtás után a szkript bejelentkezési párbeszédpanelt jelenít meg, amelyben meg kell adni a hiányzó jelszót. Ez azonban nem praktikus és nem megfelelő a háttérben lévő parancsfájl-feladatokhoz.
- Mivel a jelszót nem lehet közvetlenül a szkriptben átadni, minden alkalommal létre kell hoznia a szükséges PSCredential objektumot, amikor elolvassa a jelszót egy titkosított fájlból. A fájl létrehozásához használja a »(Get-Credential) .password | parancsot ConvertFrom - SecureString> password.txt «.
- A következő tipikus bejelentkezési párbeszédpanelen írja be a »Felhasználónév« és a »Jelszó« elemet, majd erősítse meg az »OK« gombbal. A PowerShell most titkosítja a jelszót, és elmenti azt a céljelként megadott fájl jelszóba. txt”.
- Később a szkriptben hívja meg újra a jelszót, és mentse el változóként a »$ password = Get-Content password.txt | ConvertTo-SecureString. "
- Most hozza létre a szükséges hitelesítési objektumok létrehozásához a »$ credential = New-Object System.Management.Automation.PSCredential" User name ", $ password« paranccsal. Végül átadja ezt az objektumot a »Send-Mailmessage« segítségével a »credential $ credential« paraméterrel.