Jump to content

Powershell - Passwort für AD-User ändern


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

Empfohlene Beiträge

Hey @all

 

first....bin Frischling ! :-D

 

ich möchte ein Script mit Powershell bauen welches die passwords von allen Benutzer in der OU "Admin Group "(AD) ändert. Die User sollen alle das gleiche Password bekommen.

 

So suche ich die User :

 

Get-ADUser -Filter {sAMAccountName -like "*"} | Where-Object {$_.DistinguishedName -like "*Admins*"} | Select-Object sAMAccountName

 

Output:

 

sAMAccountName

---------------------

user1

user2

user3

 

How can I print the output without the first line? without "sAMAccountName"

 

 

 

other option:

 

Get-ADUser -filter 'samAccountName -like "*"' | where-Object {$_.DistinguishedName -like "*Admins*"} | where-Object {write-host $_.SamAccountName}

 

Output:

 

user1

user2

user3

 

die zweite Option kann ich nicht in eine Variable speichern...warum ? das wäre so perfekt.

 

Wenn ich die User habe...brauche ich eine schleife oder so. Damit ich die dann in den Code unten einbauen kann..

 

Set-ADAccountPassword -Identity user1 -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "Password123" -Force)

 

Einzeln geht das ganze ja...

 

Kann mir jemand helfen ???

 

thx

alex

Link zu diesem Kommentar

Moin,

 

der Unterschied zwischen PowerShell und anderen Shells: In PowerShell arbeitest du immer mit Objekten. Beim Piping von Befehlen leitest du also nicht Texte weiter, sondern die Objekte selbst.

 

Wenn du also ein Kommando hast, das dir genau die gesuchten Objekte zurückgibt, kannst du diese Objektmenge direkt an ein anderes Kommando weiterleiten. Du musst dich nicht um Ausgabeformatierung kümmern und brauchst auch keine Variablen.

 

Ungetestet, aber dieses sollte gehen:

 

Get-ADUser -Filter {sAMAccountName -like "*"} | Set-ADAccountPassword -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "Password123" -Force)

 

(Ob das ganze Vorhaben in einer Echtumgebung sinnvoll wäre, sei mal dahingestellt. Ich gehe davon aus, dass es sich um eine Übungsaufgabe handelt.)

 

Gruß, Nils

Link zu diesem Kommentar
  • 2 Jahre später...

Du kannst ein eigenen Beitrag erstellen, aber die OU kannst du beim Cmdlet Get-ADUser angeben (get-help ist dein Freund):

    -SearchBase <string>
        Specifies an Active Directory path to search under.

        When you run a cmdlet from an Active Directory provider drive, the defa
        ult value of this parameter is the current path of the drive.

        When you run a cmdlet outside of an Active Directory provider drive aga
        inst an AD DS target, the default value of this parameter is the defaul
        t naming context of the target domain.

        When you run a cmdlet outside of an Active Directory provider drive aga
        inst an AD LDS target, the default value is the default naming context
        of the target LDS instance if one has been specified by setting the msD
        S-defaultNamingContext property of the Active Directory directory servi
        ce agent (DSA) object (nTDSDSA) for the AD LDS instance.  If no default
         naming context has been specified for the target AD LDS instance, then
         this parameter has no default value.

        The following example shows how to set this parameter to search under a
        n OU.
          -SearchBase "ou=mfg,dc=noam,dc=corp,dc=contoso,dc=com"

        When the value of the SearchBase parameter is set to an empty string an
        d you are connected to a GC port, all partitions will be searched. If t
        he value of the SearchBase parameter is set to an empty string and you
        are not connected to a GC port, an error will be thrown.
        The following example shows how to set this parameter to an empty strin
        g.   -SearchBase ""

        Required?                    false
        Position?                    named
        Default value
        Accept pipeline input?       false
        Accept wildcard characters?  false

Link zu diesem Kommentar
  • 5 Jahre später...
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...