ace24 10 Geschrieben 30. Juli 2010 Melden Teilen Geschrieben 30. Juli 2010 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 Zitieren Link zu diesem Kommentar
NilsK 2.957 Geschrieben 30. Juli 2010 Melden Teilen Geschrieben 30. Juli 2010 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 Zitieren Link zu diesem Kommentar
ace24 10 Geschrieben 30. Juli 2010 Autor Melden Teilen Geschrieben 30. Juli 2010 Hallo Nils, nein das ist nicht für Produktiv. Ist nur ein Test in einer Testumgebung... Danke für den schnellen Post...werd das gleich mal testen ... gruß alex Zitieren Link zu diesem Kommentar
ace24 10 Geschrieben 30. Juli 2010 Autor Melden Teilen Geschrieben 30. Juli 2010 Muss ich " Maskieren ??? Wenn ich z.B. ein Passwort so setzte (ConvertTo-SecureString -AsPlainText "Pas"sword123" -Force) Kannst du mir da auch helfen...Das Script läuft sonst....SUPER danke !!! alex Zitieren Link zu diesem Kommentar
ace24 10 Geschrieben 30. Juli 2010 Autor Melden Teilen Geschrieben 30. Juli 2010 Muss ich " Maskieren ??? Wenn ich z.B. ein Passwort so setzte (ConvertTo-SecureString -AsPlainText "Pas"sword123" -Force) Kannst du mir da auch helfen...Das Script läuft sonst....SUPER danke !!! alex Hat sich erledigt.... Lösung: 'Pas"sword123' Zitieren Link zu diesem Kommentar
mirena99 0 Geschrieben 8. Januar 2013 Melden Teilen Geschrieben 8. Januar 2013 Ich habe ebenfalls eine Frage zum o.g. Fall. Wo kann ich die OU im Script angeben damit ich nur die Passwörter der User von eine bestimmten OU zurücksetzen kann? Danke Zitieren Link zu diesem Kommentar
Dukel 455 Geschrieben 8. Januar 2013 Melden Teilen Geschrieben 8. Januar 2013 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 Zitieren Link zu diesem Kommentar
Vertigo08 14 Geschrieben 17. Mai 2018 Melden Teilen Geschrieben 17. Mai 2018 Hallo, der Beitrag ist schon länger her, wollte wissen welchen Parameter man zusätzlich setzen muss, damit man die Option erhält "Benutzer muss beim nächsten Login Passwort ändern" Danke Zitieren Link zu diesem Kommentar
testperson 1.707 Geschrieben 17. Mai 2018 Melden Teilen Geschrieben 17. Mai 2018 Hi, Set-ADUser -Identity <Benutzer> -ChangePasswordAtLogon $true Gruß Jan 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.