Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Suche Skript, welches Kennwortkomplexität prüfen kann

Frage Sicherheit

Mitglied: DerWoWusste

DerWoWusste (Level 5) - Jetzt verbinden

14.03.2014, aktualisiert 11:53 Uhr, 2947 Aufrufe, 6 Kommentare, 1 Danke

Moin Kollegen.

Ich möchte einem Skript ein Kennwort übergeben. Es soll jedoch vor der Weiterverarbeitung geprüft werden, ob es den folgenden Komplexitätsanforderungen genügt:

Zwingend enthalten: Groß-,Kleinbuchstaben, Sonderzeichen und Zahlen.
Länge: festzulegende Mindestlänge (meinetwegen 9)

Kennt jemand sowas in Skriptform für Windows?
Mitglied: colinardo
LÖSUNG 14.03.2014, aktualisiert 17.03.2014
Hi DWW,
könnte man so mit Powershell machen:
(Die Funktion gibt $true zurück wenn das Password den Anforderungen entspricht, und $false wenn nicht / Nicht erlaubte Passwörter oder eine Passwort-Ausnahmeliste lässt sich ebenfalls einbinden)
01.
function Check-PasswordComplexity([string]$pwd){ 
02.
     
03.
    # Liste mit nicht erlaubten Passwörtern festlegen 
04.
    $notallowed = @('Password123#','#PassW0rd') 
05.
 
06.
    # Alternativ die Liste der nicht erlaubten Passwörter aus einer Datei laden (jedes Passwort in einer eigenen Zeile) 
07.
    # $notallowed = gc "C:\passwords.txt" 
08.
 
09.
    # Minimale Länge der Passwörter festlegen 
10.
    $minlength = 9 
11.
 
12.
    if ($pwd.length -lt $minlength){ 
13.
        write-host "Das Passwort hat nicht die erforderliche Mindestlänge" -ForegroundColor Red 
14.
        return $false 
15.
16.
    if ($notallowed -contains $pwd){ 
17.
        write-host "Password ist in der Liste der nicht erlaubten Passwörter!" -ForegroundColor Red 
18.
        return $false 
19.
20.
   
21.
    if ($pwd -cmatch "[a-zaöü]" -and $pwd -cmatch "[A-ZÖÄÜ]" -and $pwd -match "\d" -and $pwd -match "\W"){ 
22.
        write-host "Password entspricht den Anforderungen" -ForegroundColor Green 
23.
        return $true 
24.
    }else{ 
25.
        write-host "Das Password entspricht nicht den Komplexitätsanforderungen (GROSSBuchstaben, kleinBuchstaben und Sonderzeichen)" -ForegroundColor Red 
26.
        return $false 
27.
28.
29.
# Funktion mit Passwort aufrufen (WICHTIG: 'einfache' Anführungszeichen benutzen) 
30.
Check-PasswordComplexity '12kjhhfeu3#664'
Grüße Uwe
Bitte warten ..
Mitglied: DerWoWusste
14.03.2014 um 11:53 Uhr
Hi Uwe,

das ging ja mal wieder fix wie nix. Ja, das sieht gut aus.
Habe parallel auch eine gute eigene Idee gehabt, die das in der Domäne bereits etablierte System nutzt (Anixis PPE), damit wird es noch netter

Also: gelöst.
Bitte warten ..
Mitglied: colinardo
14.03.2014, aktualisiert um 11:56 Uhr
Nur darauf achten das das Password in 'einfachen' Anführungszeichen an die Funktion übergeben wird, sonst gibt es Probleme wenn ein Dollarzeichen im Password vorkommt

Grüße Uwe
Bitte warten ..
Mitglied: DerWoWusste
14.03.2014 um 11:58 Uhr
Werde meine Version eh nehmen, da die auch Tastaturmuster, Dictionary usw. zusätzlich prüft.
Vielen Dank für den Hinweis.
Bitte warten ..
Mitglied: DerWoWusste
14.03.2014 um 13:02 Uhr
...und noch ein weiterer Codeschnipsel, den man nehmen könnte, hat sich angefunden:
01.
while ($true){(Read-Host "Enter password") -cmatch "^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*\W)(?!.*\s).{9,}$" } 
Bitte warten ..
Mitglied: DerWoWusste
15.03.2014, aktualisiert um 16:46 Uhr
Details zu meiner Lösung: sie setzt das Kommandozeilentool passwd.exe von Alexander Frink ein, welches leider nirgendwo mehr zum Download bereit steht, wer es braucht, kontaktiert mich einfach. passwd.exe ist das einzige Tool, das ich kenne, mit dem man via Kommandozeile sein Kennwort ändern kann, ohne Vollzugriff auf das Userobjekt zu haben
.
Also: einen Dummyuser erstellen und im Skript den User dessen Kennwort ändern lassen (welches bei uns ja Anixis PPE's Anforderungen genügen muss). Nur wenn es gelingt, wird dieses Kennwort weiter verarbeitet.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Excel Prüfen

Frage von michi-ffm zum Thema Batch & Shell ...

Webbrowser
gelöst Prüfen, ob man bei einem Onlineportal angemeldet ist (2)

Frage von joehuaba zum Thema Webbrowser ...

Visual Studio
gelöst Remotedienst prüfen mit Visual Basic (1)

Frage von flyingmichael zum Thema Visual Studio ...

Exchange Server
GPO - Logon-Skript wird nicht ausgeführt (4)

Frage von Der-Phil zum Thema Exchange Server ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Windows Server
Kennwort vergessen bei Hyper vserver 2012r (12)

Frage von jensgebken zum Thema Windows Server ...

Linux Desktop
Bildschirmauflösung unter Linux festlegen (12)

Frage von itebob zum Thema Linux Desktop ...

Windows Userverwaltung
gelöst Administrator hat alle Rechte verloren (10)

Frage von mrdead zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Gebäude mit WLAN ausstatten (9)

Frage von udobec zum Thema LAN, WAN, Wireless ...