doctordeploylogo
  [ Prev ] [ Next ] | [ Home ] [ Sitemap ] .. -... .. -.- .-. .- ... ...

Generating Passwords with Powershell

02/2017

Es gibt etliche Möglichkeiten Passwörter zu generieren. Hier eine weitere, die von der Powershell Commandline aus funktioniert (d.h. sinnvoll wenn keine GUI vorhanden ist)

Zuerst überlegen wir mal wie unser Passwort aussehen soll:
- bestehend aus Klein- und Großbuchstaben (optional: auch mit Zahlen und Sonderzeichen)
- hat eine Länge von n Zeichen (wobei aus Sicherheitsgründen n>10 sein sollte)

Ok, in der Theorie bauen wir uns ein Array mit den erlaubten Zeichen, holen aus diesem Array n-mal ein zufälliges Zeichen und pappen es in einen String zusammen. :)
Bewaffnet mit einer ASCII-Code Tabelle ermitteln wir die Werte der Buchstaben (also 65-90 und 97-122), der Zahlen und Sonderzeichen.

Das kann man jetzt extra-komplex realisieren oder... in einem Einzeiler machen:

PS V:\> -join ((65..90) + (97..122) | Get-Random -Count 14 | % {[char]$_})

Wer Zahlen und/oder Sonderzeichen ebenfalls haben möchte ändert einfach den ersten Teil. Wer die Passwortlänge variieren möchte den zweiten Teil:

Buchstaben und Zahlen:

PS V:\> -join ((48..57) + (65..90) + (97..122) | Get-Random -Count 12 | % {[char]$_})

Buchstaben, Zahlen und Sonderzeichen:

PS V:\> -join ((33..125) | Get-Random -Count 16 | % {[char]$_})

Und weil wir faul sind und das nicht immer eintippen wollen definieren wir uns eine function im Powershell Profilescript dafür:

function pwdgen { -join ((48..57) + (65..90) + (97..122) | Get-Random -Count 14 | % {[char]$_}) }

Danach kann man die Funktion auch in eigenen Scripts in der Form von z.B. $a = pwdgen verwenden.