AD Abfrage Nachname
Hallo zusammen,
ich soll aus unserer AD alle Nutzer die sich nur mit ihrem Nachnamen anmelden heraussuchen, könnte mir da jemand bei der Abfrage helfen da ich online leider nicht wirklich etwas finde
Viele Grüße
SCURRR
ich soll aus unserer AD alle Nutzer die sich nur mit ihrem Nachnamen anmelden heraussuchen, könnte mir da jemand bei der Abfrage helfen da ich online leider nicht wirklich etwas finde
Viele Grüße
SCURRR
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 389159
Url: https://administrator.de/forum/ad-abfrage-nachname-389159.html
Ausgedruckt am: 11.04.2025 um 14:04 Uhr
18 Kommentare
Neuester Kommentar
Zitat von @SCUURRR:
nein ich möchte alle User auslesen bei denen der Benutzeranmeldename nur aus dem Nachnamen besteht, da bei uns in der AD die normale Anmeldung aus Nachname.Vorname besteht.
Und warum nicht einfach ne Liste aller Namen ausgeben lassen und dann einfach drüberschauen?nein ich möchte alle User auslesen bei denen der Benutzeranmeldename nur aus dem Nachnamen besteht, da bei uns in der AD die normale Anmeldung aus Nachname.Vorname besteht.
get-aduser -filter * | ft Surname,GivenName,SamAccountName,UserPrincipalName
Moin,
dann suche ich doch lieber so:
Das toLower habe ich noch drangehängt, damit es beim Vergleich keine Probleme mit Klein-/Großschreibung gibt. Die, die im Namen einen Umlaut haben und im Usernamen natürlich nicht, werden auch gefunden. Deshalb kein set-aduser hinten dranhängen. Das geht schief.
hth
Erik
dann suche ich doch lieber so:
get-aduser -filter * | where-object {-not($_.samaccountname.tolower() -eq $($_.givenname.substring(0,1)+$_.surname).tolower())}
Das toLower habe ich noch drangehängt, damit es beim Vergleich keine Probleme mit Klein-/Großschreibung gibt. Die, die im Namen einen Umlaut haben und im Usernamen natürlich nicht, werden auch gefunden. Deshalb kein set-aduser hinten dranhängen. Das geht schief.
hth
Erik

Das toLower habe ich noch drangehängt, damit es beim Vergleich keine Probleme mit Klein-/Großschreibung gibt.
Die normalen Vergleichsoperatioren wie -eq sind per Default Case-Insensitive, ist also überflüssig. Casesensitive macht ein c davor -ceq usw.Gruß l

Get-AdUser -Filter * | ?{$_.SamAccountName -notlike '*.*'} | export-csv .\users.csv -delimiter ";" -NoType -Encoding UTF8

Doch das passt hier. Listet alle User ohne einen Punkt im Anmeldenamen, sollte ja reichen, in einer CSV Datei auf!. Mit der super hilfreichen Antwort wirst du dir hier viele Freunde machen min Jung ...
Mir scheint du hast halt noch keine Erfahrung mit der PS daran wirds liegen.
Kann man auch einfach den Benutzeranmeldenamen alle User auslesen?
Sag mal liest du die Posts oben überhaupt?? Da steht das schon s. Emeriks.Mir scheint du hast halt noch keine Erfahrung mit der PS daran wirds liegen.
Hast Du denn soviel Benutzer, dass es nicht einfacher ist, Dir einfach eine Liste mit allen ausgeben zu lassen, diese in Excel zu laden und auszuwerten? Einfach pragmatisch denken! Willst Du eine Lösung Deines ursprünglichen Problems (die Loginnamen) oder eine Lösung für einen Weg, welchen Du unbedingt gehen willst (atta!)?
Moin,
Hatten wir doch schon fast. Das funktioniert. Getestet auf meinem System:
hth
Erik
Zitat von @SCUURRR:
Leider gibt dies auch noch nicht die richtigen Useraus. Ich möchte ALLE User die sich nur mit einem der beiden Dinge anmelden, also normal wäre wie oben erwähnt Nachname.Vorname aber bei manchen ist es einfach nur NACHNAME oder nur VORNAME und genau diese User würde ich gerne in einer Tabelle aufgelistet haben. Ist es dann auch noch möglich die Ausgabe über Powershell zu exportieren in eine CSV oder ähnliches?
Leider gibt dies auch noch nicht die richtigen Useraus. Ich möchte ALLE User die sich nur mit einem der beiden Dinge anmelden, also normal wäre wie oben erwähnt Nachname.Vorname aber bei manchen ist es einfach nur NACHNAME oder nur VORNAME und genau diese User würde ich gerne in einer Tabelle aufgelistet haben. Ist es dann auch noch möglich die Ausgabe über Powershell zu exportieren in eine CSV oder ähnliches?
Hatten wir doch schon fast. Das funktioniert. Getestet auf meinem System:
get-aduser -filter * | where-object { -not ($samaccountname -eq $($_.surname+"."+$_.givenname))} | export-csv user.csv -delimiter ";" -encoding utf8
hth
Erik
Zitat von @emeriks:
Hast Du denn soviel Benutzer, dass es nicht einfacher ist, Dir einfach eine Liste mit allen ausgeben zu lassen, diese in Excel zu laden und auszuwerten? Einfach pragmatisch denken! Willst Du eine Lösung Deines ursprünglichen Problems (die Loginnamen) oder eine Lösung für einen Weg, welchen Du unbedingt gehen willst (atta!)?
Hast Du denn soviel Benutzer, dass es nicht einfacher ist, Dir einfach eine Liste mit allen ausgeben zu lassen, diese in Excel zu laden und auszuwerten? Einfach pragmatisch denken! Willst Du eine Lösung Deines ursprünglichen Problems (die Loginnamen) oder eine Lösung für einen Weg, welchen Du unbedingt gehen willst (atta!)?
Hausaufgabe?

Zitat von @SCUURRR:
Ja natürlich habe ich keine Erfahrung, sonst würde ich ja hier nichts reinschreiben aber dann such ich selber.
Aber mit Aussagen "passt nicht" ist hier auch keinem geholfen. Du musst schon sagen "was" nicht passt, denn hier passt es ja testweise. Und suchen bringt dich da nicht weiter, schrittweise verstehen und lernen schon eher.Ja natürlich habe ich keine Erfahrung, sonst würde ich ja hier nichts reinschreiben aber dann such ich selber.
Ist wohl offensichtlich wieder Kindergarten hier .