powershell:allgemein:credentials
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| powershell:allgemein:credentials [2022/02/21 12:52] – [Speichern eines Kennwortes in einer Datei] henning | powershell:allgemein:credentials [2024/05/27 08:36] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 15: | Zeile 15: | ||
| <code powershell> | <code powershell> | ||
| - | ==== Zusammensetzen des Credential-Objektes in einem Skript ==== | + | ==== Aufruf |
| - | + | ||
| - | < | + | |
| - | # Benutzername und Secure String des Kennworts eingeben: | + | |
| - | [string]$userName = ' | + | |
| - | [string]$passwordText = Get-Content ' | + | |
| - | + | ||
| - | # Convert to secure string | + | |
| - | [SecureString]$securePassword = $passwordText | ConvertTo-SecureString | + | |
| - | + | ||
| - | # Create credential object | + | |
| - | [PSCredential]$credObject = New-Object System.Management.Automation.PSCredential -ArgumentList $userName, $securePassword | + | |
| - | </ | + | |
| - | + | ||
| - | :!: Wichtig\\ | + | |
| - | * Auch wenn das Kennwort nur schwer zurückzurechnen ist, kann es im Kontext des Benutzers auf dem System, auf dem es erzeugt wurde, in anderen Skripten verwendet werden. Jemand mit Zugriff auf ein automatisiert laufendes Skript im entsprechenden Kontext könnte das Skript verändern und dabei das Kennwort benutzen. | + | |
| - | * Die Credentials lassen sich nur im Kontext des Benutzers auf dem System verwenden, in dem die Datei erzeugt wurde. Sie müssen auf jedem anderen System und in jedem anderen Kontext neu erzeugt werden. | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | ===== Erzeugen der Credential-Datei ===== | + | |
| - | + | ||
| - | Die PowerShell muss als der Benutzer gestartet werden, in dessen Kontext die Datei genutzt werden soll.\\ | + | |
| - | <code powershell> | + | |
| - | + | ||
| - | Das Kennwort des Benutzers eingeben. | + | |
| - | + | ||
| - | ==== Zusammensetzen von Credentials | + | |
| <code powershell> | <code powershell> | ||
| $smtpServer = smtp.office365.com | $smtpServer = smtp.office365.com | ||
| Zeile 51: | Zeile 21: | ||
| $smtpTo = logs@domain.com | $smtpTo = logs@domain.com | ||
| $sender = admin@domain.com | $sender = admin@domain.com | ||
| - | $password | + | $credential=Import-CliXml -Path C: |
| - | $Creds = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $sender $password | + | |
| - | Send-MailMessage -From $smtpFrom -To $smtpTo -Subject $messagesubject -Body $messagebody -SmtpServer $smtpServer -Credential $Creds -UseSsl -Port 587 | + | Send-MailMessage -From $smtpFrom -To $smtpTo -Subject $messagesubject -Body $messagebody -SmtpServer $smtpServer -Credential $credential |
| </ | </ | ||
powershell/allgemein/credentials.1645444375.txt.gz · Zuletzt geändert: 2024/05/27 08:34 (Externe Bearbeitung)
