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

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

Link zu diesem Kommentar

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
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...