Jump to content

Feld Password Expired auslesen


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

Recommended Posts

Hallo zusammen,

ich versuche mich gerade, in Powershell einzulesen, bin also noch ziemlich frisch im Thema.

Gegeben ist eine CSV-Datei mit Benutzernamen.

Bei diesen Benutzern soll geprüft werden, ob das Flag "PasswordNeverExpires" auf True oder False steht.

 

Folgendes Script funktioniert zwar, ignoriert aber vollkommen meine CSV und führt die Abfrage über die komplette AD aus und gibt mir auch nicht den Wert True/False zurück:

 

Import-Csv -Path "c:\temp\usernames.csv"
Search-ADAccount -PasswordNeverExpires | FT samaccountName,ObjectClass -A

 

Was mache ich hier falsch? Bzw. gibt es eine bessere Methode?

Als Endergebnis hätte ich gerne eine CSV mit den Usern und einer weiteren Spalte PasswordNeverExpires True oder False.

 

Vielen Dank schon mal für eure Hilfe!

 

 

Link to post

Moin,

 

von der Logik her ist es ziemlich einfach, warum es nicht funktioniert: Dein Skript macht was völlig anderes, als du willst.

 

Zeile 1 importiert eine CSV-Datei, macht aber nichts damit.

Zeile 2 durchsucht das AD nach Konten, bei denen  "PasswordNeverExpires" zutrifft. Das Ergebnis wird dann in einer Tabelle ausgegeben, die die Spalten SAM-Name und Objektklasse enthält.

 

Also bekommst du alle AD-User mit festem Kennwort zurück mit der Angabe, dass es sich um User handelt. Mit der CSV-Datei hat das nichts zu tun.

 

Wenn du in der PowerShell noch nicht firm bist, dann arbeite lieber erst mal mit einfacheren Beispielen. 

 

Gruß, Nils

 

Link to post

Hi,

 

die CSV "ins Leere" importieren dürfte auch nicht hilfreich sein. ;) Des Weiteren wirst du deine Aufgabe vermutlich auch nicht mit "Search-ADAccount" lösen können bzw. dürfte es einfachere Wege geben. Daher:

  1. Import-CSV (in eine Variable): https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/import-csv?view=powershell-6
  2. ForEach (zum zeilenweise Durcharbeiten der CSV): https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_foreach?view=powershell-6
  3. Get-ADUser (um "PasswordNeverExpires" je User auszulesen): https://docs.microsoft.com/en-us/powershell/module/addsadministration/get-aduser?view=win10-ps

Gruß

Jan

Link to post
vor 1 Stunde schrieb c0smic:
 

ich versuche mich gerade, in Powershell einzulesen, bin also noch ziemlich frisch im Thema.

 

Import-Csv -Path "c:\temp\usernames.csv"
Search-ADAccount -PasswordNeverExpires | FT samaccountName,ObjectClass -A

 

Dein Problem ist nicht powershell-spezifisch. Egal in welcher Sprache gilt:

Wenn du A mit B vergleichen willst solltest du das auch irgendwie programmieren.

 

Manuel

 

Link to post

So... bin ne ganze Ecke weiter, aber leider hänge ich jetzt wieder fest.

 

Mein Script sieht nun folgendermaßen aus:

 

Import-Csv -Path "c:\temp\ps\usernames.csv" | ForEach-Object { 
Get-ADUser -filter "samAccountName -like '*$($_.user)*'" -Properties PasswordNeverExpires} | FL samaccountname, PasswordNeverExpires

 

Die CSV wird gelesen, Output sieht auch gut aus,  allerdings macht die Schleife nach dem ersten Eintrag nicht weiter.

Eine Fehlermeldung gibt es allerdings auch nicht...

 

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...