Weisheiten - der Netz-Weise Blog
Sichere Kennwörter in Powershell generieren, jetzt mit dem .NET Framework
In meinem Blogeintrag Zufällige (Komplexe) Kennwörter erzeugen mit Powershell vom 23.04 habe ich gezeigt, wie man komplexe Kennwörter mit Powershell generieren kann, indem man zufällige Zeichen mit Get-Random erzeugt. Aber es geht auch einfacher, denn das .NET-Framework bietet bereits eine fertige statische Methode zum generieren von Kennwörtern, die man in Powershell nur noch laden muß. Die Methode heißt GeneratePassword und befindet sich in der [System.Web]-Assembly. Die Assembly ist in Powershell allerdings nicht standardmäßig geladen. Dies kann man mit dem Cmdlet Add-Type erledigen:
Add-Type -AssemblyName System.web
Nun können Sie die Methode GeneratePassword aus der Klasse [System.Web.Security.Membership] aufrufen. Der Aufruf erfolgt über [Klasse]::Methodenname(Parameter):
[System.Web.Security.Membership]::GeneratePassword(10,3)
Die beiden Parameter 10 und 3 bestimmen die Anzahl der Zeichen sowie die nicht-Alphanumerischen Zeichen, die das Kennwort enthalten muß.
In eine Funktion gegossen sieht das dann so aus:
function New-Password {
param
(
# The Length of the Password
[ValidateRange(3,128)]
[String]$Length = 12,
# Number of non-Alpanumeric Characters
[String]$Specials = '3'
)
Add-Type -AssemblyName System.web
[System.Web.Security.Membership]::GeneratePassword($Length,$Specials)
}
Links:
Ähnliche Beiträge
By accepting you will be accessing a service provided by a third-party external to https://netz-weise-it.training/