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!

Empfohlene Beiträge

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 zu diesem Kommentar

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 zu diesem Kommentar

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 zu diesem Kommentar
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 zu diesem Kommentar

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 zu diesem Kommentar

Moin,

 

der übliche Weg ist, dass du eine CSV-Datei in eine Objektvariable importierst. Diese kannst du dann mit ForEach auswerten.

https://ss64.com/ps/import-csv.html

 

Dein Kommando dürfte die ganze CSV als ein Objekt behandeln, wodurch eben nur ein Durchlauf der Schleife stattfindet, nicht einer pro Zeile.

 

Gruß, Nils

 

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...