none
Get-ADUser; User in Textdatei als Blacklist? RRS feed

  • Frage

  • Hallo zusammen,

    ich fange gerade an Powershell zu lernen und möchte ein Script schreiben, dass mir AD User, die länger als X Tage nicht angemeldet waren, anzeigt. Das Ganze funktioniert soweit auch ganz gut. Allerdings bekomme ich auch jede Menge User mit ausgegeben, die in diesem Falle irrelevant sind. Mein Plan ist, diese User in eine Textdatei zu schreiben, die das Script ausliest und bei der Ausgabe der User ignoriert. Ist dies möglich? Wie gehe ich da am besten vor?

    $domain = "Test.local"
    $DaysInactive = 60
    $time = (Get-Date).Adddays(-($DaysInactive))
    
    Get-ADUser -Filter {LastLogonTimeStamp -lt $time} -Properties LastLogonTimeStamp |
    
    select-object Name,@{Name="Letzter Login"; Expression={[DateTime]::FromFileTimeUtc($_.lastLogonTimeStamp).toString('g')}}

    Das Bisherige gibt mir die Benutzer aus. Allerdings fehlt hier leider noch der komplette Teil mit der Textdatei. Habe bereits etwas rumprobiert, allerdings funktioniert das Script so gar nicht, wenn ich den Inhalt der eingelesenen Textdatei Filtern möchte.

    Vielen Dank schon mal im Vorraus.

    Freitag, 24. November 2017 09:06

Antworten

  • Ich glaube, Du machst Dir das Leben ein bissl zu schwer.

    https://technet.microsoft.com/en-us/library/dd391899%28v=ws.10%29.aspx?f=255&MSPPError=-2147217396

    Fang mal damit an und wenn Du dann nicht weiterkommst, meldest Du Dich einfach nochmal, gelle?  ;-)  :-D


    Best regards,

    (79,108,97,102|%{[char]$_})-join''

    Freitag, 24. November 2017 11:26
  • Moritz,

    unabhängig vom Powershell-Code würde in dem Fall eine durchdachte AD-Struktur schon mal ein Stück weiterhelfen. Zum Beispiel wäre es empfehlenswert, "Funktions-Konten" wie "Besprechungszimmer" oder "Gast" und mögliche aktive Benutzerkonten in getrennten OUs unterzubringen. Dann kannst Du schon mal eine Menge nicht relevante Konten durch die Angabe einer "-SearchBase" vorab herausfiltern.

    Den Rest, sollte der dann wirklich noch existieren, kannst Du mit einem Where-Object aus Deinen Ergebnissen herausfiltern. Dazu sind dann Vergleichsoperatoren hilfreich.

    Nur mal noch aus Neugier: Wie lernst Du denn Powershell? … mit einem Online-Kurs oder mit einem Buch … oder, oder?

    Best regards,

    (79,108,97,102|%{[char]$_})-join''



    • Bearbeitet BOfH-666 Dienstag, 28. November 2017 08:51
    • Als Antwort markiert Moritz Schultes Dienstag, 28. November 2017 09:12
    Dienstag, 28. November 2017 08:50
  • Okay, dann muss ich wohl die Benutzer besser in OUs  sortieren. :)

    … musst Du natürlich nicht, aber Du erleichterst Dir das Leben damit. ;-)

    PowerShell lerne ich hauptsächlich durch Videos.

    Und rumprobieren/Googlesuche.

    Ooops … ich wusste gar nicht, dass es die Videos auch bei Youtube gibt. Vielleicht ein bissl strukturierter und mit Zusatzmaterial gibt es die Sachen als kostenlose Online-Kurse der Microsoft Academy. z.B. der hier: Getting Started with Microsoft PowerShell.

    Gerne nehme ich auch Buchtips oder ähnliches entgegen. :-)

    Gute Bücher gibt's natürlich immer von Dr. Tobi ;-) : PowerShell 5: Windows-Automation für Einsteiger und Profis

    Oder wenn es auch was englisches sein darf: Windows PowerShell in Action, von Bruce Payette oder Learn PowerShell Scripting in a Month of Lunches von Don Jones.



    Best regards,

    (79,108,97,102|%{[char]$_})-join''

    Dienstag, 28. November 2017 10:06

Alle Antworten

  • Ich glaube, Du machst Dir das Leben ein bissl zu schwer.

    https://technet.microsoft.com/en-us/library/dd391899%28v=ws.10%29.aspx?f=255&MSPPError=-2147217396

    Fang mal damit an und wenn Du dann nicht weiterkommst, meldest Du Dich einfach nochmal, gelle?  ;-)  :-D


    Best regards,

    (79,108,97,102|%{[char]$_})-join''

    Freitag, 24. November 2017 11:26
  • Vielen Dank für die Antwort,

    leider helfen mir die paar Zeilen nicht groß weiter. Denn auch bei den Beispielen bekomme ich User ausgegeben wie bspw. "Besprechungszimmer" oder "Gast". Genau solche hätte ich gerne in einer quasi Blacklist.

    User aus einer Textdatei einlesen sollte ich hinbekommen. Aber kann ich diese dann Abgleichen und eben nicht mit ausgeben lassen?

    Vielen Dank. :)

    Dienstag, 28. November 2017 08:06
  • Moritz,

    unabhängig vom Powershell-Code würde in dem Fall eine durchdachte AD-Struktur schon mal ein Stück weiterhelfen. Zum Beispiel wäre es empfehlenswert, "Funktions-Konten" wie "Besprechungszimmer" oder "Gast" und mögliche aktive Benutzerkonten in getrennten OUs unterzubringen. Dann kannst Du schon mal eine Menge nicht relevante Konten durch die Angabe einer "-SearchBase" vorab herausfiltern.

    Den Rest, sollte der dann wirklich noch existieren, kannst Du mit einem Where-Object aus Deinen Ergebnissen herausfiltern. Dazu sind dann Vergleichsoperatoren hilfreich.

    Nur mal noch aus Neugier: Wie lernst Du denn Powershell? … mit einem Online-Kurs oder mit einem Buch … oder, oder?

    Best regards,

    (79,108,97,102|%{[char]$_})-join''



    • Bearbeitet BOfH-666 Dienstag, 28. November 2017 08:51
    • Als Antwort markiert Moritz Schultes Dienstag, 28. November 2017 09:12
    Dienstag, 28. November 2017 08:50
  • Vielen Dank für die Antwort.

    Okay, dann muss ich wohl die Benutzer besser in OUs  sortieren. :)

    PowerShell lerne ich hauptsächlich durch Videos. (Bspw: https://www.youtube.com/watch?v=EkZDuQKXtJY )

    Und rumprobieren/Googlesuche.

    Gerne nehme ich auch Buchtips oder ähnliches entgegen. :-)


    Dienstag, 28. November 2017 09:11
  • Okay, dann muss ich wohl die Benutzer besser in OUs  sortieren. :)

    … musst Du natürlich nicht, aber Du erleichterst Dir das Leben damit. ;-)

    PowerShell lerne ich hauptsächlich durch Videos.

    Und rumprobieren/Googlesuche.

    Ooops … ich wusste gar nicht, dass es die Videos auch bei Youtube gibt. Vielleicht ein bissl strukturierter und mit Zusatzmaterial gibt es die Sachen als kostenlose Online-Kurse der Microsoft Academy. z.B. der hier: Getting Started with Microsoft PowerShell.

    Gerne nehme ich auch Buchtips oder ähnliches entgegen. :-)

    Gute Bücher gibt's natürlich immer von Dr. Tobi ;-) : PowerShell 5: Windows-Automation für Einsteiger und Profis

    Oder wenn es auch was englisches sein darf: Windows PowerShell in Action, von Bruce Payette oder Learn PowerShell Scripting in a Month of Lunches von Don Jones.



    Best regards,

    (79,108,97,102|%{[char]$_})-join''

    Dienstag, 28. November 2017 10:06