PowerShell-Cmdlets ermöglichen für Zugriffe über das Netzwerk verschiedene Formen der Authentifizierung. Neben Kerberos, das standardmäßig für die Anmeldung an eine Domäne verwendet wird, ist die Authentifizierung über Benutzername und Kennwort die gebräuchlichste Form der Authentifizierung (der Standardwert für den Authentication-Parameter, den es bei 18 der insgesamt 236 Cmdlets gibt, lautet „Default“). Show Bei allen auf WS-Management basierenden Cmdlets wie Invoke-Command oder New-PsSession ist über den CertificateThumbprint-Parameter auch eine Authentifizierung über ein Zertifikat möglich (allerdings kann dieses Zertifikat nur einem lokalen Benutzerkonto zugeordnet werden, was die Bedeutung dieser Authentifizierungsvarianten deutlich einschränkt). Trotz dieser Variantenauswahl, die zentrale Form der Authentifizierung geschieht über den Credential-Parameter, dem ein Paar aus Benutzername und Kennwort in Gestalt eines PSCredential-Objekts übergeben werden. Wer mit der PowerShell am Anfang steht, dem wird eine kleine Unstimmigkeit, die mit diesem Parameter einhergeht, zunächst nicht auffallen. Credential-Parameter erwartet PSCredential-ObjektFolgt auf den Credential-Parameter nur ein Benutzername, erscheint automatisch ein Anmeldedialog, in dem das fehlende Kennwort eingegeben wird. Aus Benutzername und Kennwort wird danach ein PSCredential-Objekt gebildet. Die erwähnte kleine Unstimmigkeit resultiert aus dem Umstand, dass der Credential-Parameter offiziell immer ein PSCredential-Objekt als Parameterwert erwartet. Als eine Art Eingabeerleichterung akzeptiert der Parameter aber auch einen String. Erzeugung von PSCredential-ObjektenEs gibt zwei Möglichkeiten, an ein solches PSCredential-Objekt zu kommen: Über das Get-Credential-Cmdlet und über das New-Object-Cmdlet. Im ersten Fall werden Benutzername und Kennwort abgefragt, im zweiten Fall wird das Objekt angelegt, ohne dass eine Eingabe erforderlich ist. Einen kleinen Haken gibt es aber auch hier. Das Kennwort muss als SecureString-Wert übergeben werden. Der Aufruf lautet daher:
Erstellen eines SecureString$Pw ist die Variable, die den SecureString enthält. Doch wie kommt man einen SecureString? Auch dafür gibt es mehrere Möglichkeiten, genauer gesagt sind es drei:
Ein kleiner Tipp zum Schluss. Bei einem PSCredential-Objekt gibt es die unscheinbare Methode GetNeworkCredential(). Sie liefert ein Objekt, dessen Password-Property das Kennwort im Klartext enthält. Soviel zum Thema Sicherheit bei Kennwörtern. Eine echte Sicherheitslücke ist es jedoch nicht, denn der SecureString kann ohnehin nur vom dem Benutzer wieder entschlüsselt werden, der den String ursprünglich verschlüsselt hat und das auch nur auf dem Computer, auf dem der String verschlüsselt wurde, da bei der Verschlüsselung sowohl die SID des Benutzers als auch des Computers verwendet werden. Hallo zusammen, ich bin auf der Suche nach einem Tool, welches via Kommandozeile aufgerufen und mit diversen übergebenen Parametern (z.B. %Pfad_zu_einem_Logfile%) eine Mail versenden kann und SSL Verschlüsselung unterstützt. Habt ihr Tipps und vor allem Erfahrungswerte für mich? Als erstes bin ich auf Blat gestoßen, das kann sich aber nicht verschlüsselt am Mailserver (Office 365) anmelden, fällt also raus. Danach bin ich auf Swithmail gestoßen, was erstmal einen guten Eindruck macht. Bevor ich mich aber dafür entscheide wollte ich mal in die Runde fragen, was es sonst noch so gibt und vor allem womit ihr gute (oder auch schlechte) Erfahrungen gemacht habt bzw. was ihr (nicht) empfehlen könnt. Lieben Dank und schöne Grüße Content-Key: 282604 Url: https://administrator.de/contentid/282604 Ausgedruckt am: 16.09.2022 um 23:09 Uhr |