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

Powershell Funktion - Passwort abfragen

Frage Entwicklung Batch & Shell

Mitglied: gabeBU

gabeBU (Level 1) - Jetzt verbinden

30.11.2012 um 09:57 Uhr, 3459 Aufrufe, 1 Kommentar

Hallo zusammen

Ich bin gerade dabei, eine Funktion die ich gefunden habe auf mein Skript umzuschreiben umd damit zu testen, ob das Passwort den Kennwortrichtlinien entspricht. Nur habe ich das Problem, dass egal wieviele Zeichen ich eingebe, immer die Meldung kommt, dass das Passwort zu kurz sei.

Hier ist die Funktion
01.
#Funktion: Passwort übeprüfen 
02.
function PasswordCheck ($passwordnew) { 
03.
 
04.
$adsi = [adsi]'' 
05.
 
06.
$Global:pwdPropertiesCheck = 0 
07.
$Global:i = 0 
08.
 
09.
$minPwdLength = $($adsi.minPwdLength) 
10.
$pwdProperties = $($adsi.pwdProperties) 
11.
switch -regex ($pass) 
12.
13.
"[A-Z]" { $Global:pwdPropertiesCheck += 1} 
14.
"[a-z]" { $Global:pwdPropertiesCheck += 1} 
15.
"[0-9]" { $Global:pwdPropertiesCheck += 1} 
16.
"\W" { $Global:pwdPropertiesCheck += 1} 
17.
18.
 
19.
If ($minPwdLength -gt $pass.length){ 
20.
$prompt = "Das Passwort muss mindestens $minPwdLength Zeichen lang sein. Bitte versuchen sie es erneut " 
21.
$title = "Fehleingabe!" 
22.
Add-Type -AssemblyName microsoft.visualbasic 
23.
$Response = [Microsoft.VisualBasic.interaction]::MsgBox($prompt,'Critical', $title)} 
24.
ElseIf ($Global:pwdPropertiesCheck -lt 3){ 
25.
$prompt = "Das Passwort ist nicht komplex genug.Bitte versuchen sie es erneut" 
26.
$title = "Fehleingabe!" 
27.
Add-Type -AssemblyName microsoft.visualbasic 
28.
$Response = [Microsoft.VisualBasic.interaction]::MsgBox($prompt,'Critical', $title)} 
29.
Else{ 
30.
$prompt = "Passwort wird verwendet..." 
31.
$title = "Passwort" 
32.
Add-Type -AssemblyName microsoft.visualbasic 
33.
$Response = [Microsoft.VisualBasic.interaction]::MsgBox($prompt,'OKOnly, Information', $title) 
34.
$Global:i++ 
35.
36.
 
37.
If($Global:i -ne 1){ 
38.
 
39.
 
40.
 
41.
$prompt = "Bitte geben sie ein Passwort ein :" 
42.
$title = "Passowrt eingeben" 
43.
 
44.
Add-Type -AssemblyName microsoft.visualbasic 
45.
$Global:password = [Microsoft.VisualBasic.interaction]::inputbox($prompt,$title) 
46.
if ($Global:Password -eq $Null){exit} 
47.
 
48.
49.
 
50.
}
Die minpwdlength zu definieren habe ich schon versucht, leider hat das nicht geklappt.

Wisst ihr vielleicht eine Lösung?

Gruss

gabeBU
Mitglied: filippg
30.11.2012, aktualisiert um 21:59 Uhr
Hallo,

Nur habe ich das Problem, dass egal wieviele Zeichen ich eingebe, immer die Meldung kommt, dass das Passwort zu kurz sei.
Da würde ich jetzt mal vermuten, dass die Prüfung "If ($minPwdLength -gt $pass.length){ " immer true ergibt. Da kann es natürlich hilfreich sein, die beiden Variablen einfach mal ausgeben zu lassen, um zu sehen, was da drinnsteht. Schaue ich mir dein Quelltext näher an, so stellt sich mir die Frage: Wo weißt du denn $pass überhaupt einen Wert zu?

Dann würde ich vermuten (da bin ich mir aber nicht sicher), dass das Passwort "Ab1xxxxxxx" akzeptiert wird, "1bAxxxxxx" aber nicht, weil der switch nur einmal durchlaufen wird.
Und zu guter Letzt: wenn man Skripte irgendwo her kopiert ist es guter Stil, dass man dazu schreibt von wem und von wo sie stammen.

Gruß

Filipp
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Powershell - Windows Dienste abfragen (3)

Frage von Edaseins zum Thema Batch & Shell ...

Batch & Shell
gelöst Unterschiede im Aufruf und Funktion von FOREACH in Powershell (3)

Frage von SamTrex zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell - In Textdatei suchen und ersetzen (5)

Frage von Raaja89 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (29)

Frage von patz223 zum Thema Windows Userverwaltung ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (20)

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

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...