Jump to content

Powershell: Bereits bestehenden Benutzer individuelle Passwörter zuweisen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

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

Geschrieben (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 von BOfH_666
  • Danke 1
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...