gabeBU 10 Geschrieben 21. August 2018 Melden Teilen Geschrieben 21. August 2018 Hallo Zusammen Ich bin gerade dabei, ein Powershell SCript zu erstellen, bei dem jedem Benutzer ein individuelles Passwort erstellt wird. Dass Passwort ist immer das selbe Wort mit einer aufsteigenden Zahl (z.B: RAUKO0@01-RAUKO@20) Hier ist das geschriebene Script: # # Script: ResetPwd.ps1 # Description: Reset the password for bulk number of users, and # set the property to change passwrod required at next logon # Based on https://anandthearchitect.com/2014/02/27/active-directory-bulk-user-password-reset-by-powershell/ # # Import-Module ActiveDirectory $nummer = 3 $zaehler = 1 # Get the list of accounts from the file on file # List the user names one per line # $users = Get-ADUser -SearchBase “OU=user,OU=TEST,OU=RAU,DC=rauglobal,DC=local” -Filter * | Select givenName > C:\Users\admgb\users.txt gc C:\Users\admgb\users.txt | sort | get-unique > C:\Users\admgb\userlist.txt $userlist = Get-Content -Path C:\Users\admgb\userlist.txt $user = 1 do { $Password1 = "RAUKO@0$zaehler" $Password2 = "RAUKO@$zaehler" $line = $userlist | Select -Index $nummer ForEach ($userlist in $users.count) { # Set the default password for the current account if($nummer -lt 10) { Set-ADAccountPassword -Identity "CN=$line,OU=user,OU=TEST,OU=RAU,DC=rauglobal,DC=local" -Reset -NewPassword (ConvertTo-SecureString -AsPlainText $Password1 -Force) Write-Host “Passwort wurde für den Folgenden Benutzer zurückgesetzt: $user” Write-Host "Das neue Passwort ist: $Password1" } elseif ($nummer -gt 10) { Set-ADAccountPassword -Identity "CN=$line,OU=user,OU=TEST,OU=RAU,DC=rauglobal,DC=local" -Reset -NewPassword (ConvertTo-SecureString -AsPlainText $Password2 -Force) Write-Host “Passwort wurde für den Folgenden Benutzer zurückgesetzt: $user” Write-Host "Das neue Passwort ist: $Password2" } } $zaehler++ $nummer++ }while($nummer -lt $users.count) # ————- End ———– Doch leider hört er mit der Zuweisung des 1. Passworts auf. Wüsstet Ihr woran das liegen könnte? Besten Dank für eure Auskunft. Gruss gabeBU Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 21. August 2018 Melden Teilen Geschrieben 21. August 2018 (bearbeitet) Dein Code ist ein bissl wirr ... irgendwie. In Powershell macht man sowas eigentlich ein bsisl anders. Vielleicht fängst Du erstmal so an: $zaehler = 1 $Userlist = Get-Content -Path 'C:\Users\admgb\users.txt' | Sort-Object | Get-Unique Foreach($UserName in $userlist){ Set-ADAccountPassword -Identity "CN=$UserName,OU=user,OU=TEST,OU=RAU,DC=rauglobal,DC=local" -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "RAUKO@0$zaehler" -Force) $zaehler++ } Wenn Du in Deiner Quell-Datei "users.txt" Windows-AnmeldeNamen (sAMAccoutnNamen) hast, kannst Du diese direkt für Set-ADAccountPasswort benutzen und brauchst nicht den FQDN "zusammenbauen". Das liest sich auch leichter und ist weniger fehlerträchtig. Was willst Du eigentlich mit dem Password1 und und Password2 erreichen? bearbeitet 21. August 2018 von BOfH_666 1 Zitieren Link zu diesem Kommentar
gabeBU 10 Geschrieben 22. August 2018 Autor Melden Teilen Geschrieben 22. August 2018 Hallo BofH_666 Die einzelnen Konten sollen individuelle Passwörter haben, die nicht geändert werden können. Danke aber für den Tipp, ich konnte es nun gut Umsetzen. Gruss gabeBU Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.