Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 2694 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 ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

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

Frage von flyingmichael zum Thema Visual Studio ...

Batch & Shell
Powershell CHAT Skript (5)

Frage von xpxy15 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (15)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...