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 08:43] – [Zusammenbau des Credential-Objektes] henning | powershell:allgemein:credentials [2024/05/27 08:36] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 8: | Zeile 8: | ||
| ===== Automatische Anmeldung in einem Skript ===== | ===== Automatische Anmeldung in einem Skript ===== | ||
| ==== Speichern eines Kennwortes in einer Datei ==== | ==== Speichern eines Kennwortes in einer Datei ==== | ||
| - | Das Speichern eines Klartext-Kennwortes in einer Datei ist aus Sicherheitsgründen problematisch. Um das zu umgehen, verwendet die PowerShell das Format des " | + | Das Speichern eines Klartext-Kennwortes in einer Datei ist aus Sicherheitsgründen problematisch. Um das zu umgehen, verwendet die PowerShell das Format des " |
| <code powershell> | <code powershell> | ||
| - | # Kennwort in einer Variable speichern | + | Get-Credential | Export-CliXml -Path 'C: |
| - | [string]$userPassword = 'wichtiges und geheimes Kennwort 123' | + | |
| - | # Credential-Objekt aus dem Kennwort erzeugen | + | Der in der Datei gespeicherte Inhalt kann dann in Skripten verwendet werden.\\ |
| - | [SecureString]$secureString | + | <code powershell> |
| - | # Den " | + | ==== Aufruf |
| - | [string]$stringObject | + | |
| - | + | ||
| - | # Den " | + | |
| - | $stringObject | Set-Content -Path ' | + | |
| - | + | ||
| - | Es wird ein Base64-codiertes Objekt vom Typ " | + | |
| - | + | ||
| - | ==== Zusammensetzen des Credential-Objektes in einem Skript ==== | + | |
| - | + | ||
| - | < | + | |
| - | # 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.\\ | + | |
| - | << | + | |
| - | + | ||
| - | Das Kennwort des Benutzers eingeben. | + | |
| - | + | ||
| - | ==== Zusammensetzen von Credentials | + | |
| <code powershell> | <code powershell> | ||
| $smtpServer = smtp.office365.com | $smtpServer = smtp.office365.com | ||
| Zeile 60: | 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.1645429420.txt.gz · Zuletzt geändert: 2024/05/27 08:34 (Externe Bearbeitung)
