gabeBU 10 Geschrieben 21. August 2018 Melden 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
BOfH_666 586 Geschrieben 21. August 2018 Melden 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
gabeBU 10 Geschrieben 22. August 2018 Autor Melden 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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden