AD Usernamen in CSV Vergleichen mit Attribut sn und gn

Mitglied: bellojr

bellojr (Level 1) - Jetzt verbinden

22.04.2021, aktualisiert 08:59 Uhr, 559 Aufrufe, 6 Kommentare

Hallo Leute,
es gab hier schon ein ähnliches Problem , was gelöst würde. Hier der Code:



Ich stehe vor einem ähnlichen Problem. Leider komme ich mit SamAccountname nicht weiter. Hab es mal mit "SN" erfolglos probiert. Wenn man Vorname+Nachname Abfragen könnte wäre es perfect für mich. Geht das ?
Hintergrund: Es wurde jahrelang "Pseudo-Accounts" angelegt ( für eine dig. Anwendung ) die nie gepflegt wurden. Das SamAccountname sieht so aus " devobiMmüller ". Zusätzlich kommen noch viele User dazu noch keinen oder eben diesen "Pseudo-Accounts" AD-Account haben. Ich habe von der Perso eine Liste alles Mitarbeiterbeitenden bekommen.
Bitte helft mir.
Mitglied: Doskias
LÖSUNG 22.04.2021 um 09:15 Uhr
Hallo,

bitte die Frage nicht falsch verstehen, aber hast du dir das Skript eigentlich mal angeschaut was du hier gepostet hast. In Zeile 4 steht:

Was ist das Ergebnis davon?
Richtig es wird jeder User abgefragt und du erhälst folgende Infos

DistinguishedName : CN=Test\, Benutzer,OU=xxxx,DC=xxx,DC=xxx
Enabled : True
GivenName : Benutzer
Name : Test, Benutzer
ObjectClass : user
ObjectGUID : [gelöscht]
SamAccountName : It-Test
SID : S-x-x-xx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-xxxx
Surname : Test
UserPrincipalName : Test@Domäne.de

Was könnte in dieser Auflistung wohl der Vor- bzw. Nachname sein?

Gruß
Doskias
Bitte warten ..
Mitglied: bellojr
22.04.2021 um 11:11 Uhr
Hallo,

Danke für die schnelle Antwort.
Das verstehe ich nicht was Du meinst. Ich habe das Script im originalen ausgeführt. Das Ergebniss ist eine Liste wo steht das keiner der User in meiner Liste im Ad einen Account hat. Aber das war mir ja vorher klar, wegen der oben beschrieben Problematik. Meine csv besteht aus einer Spalte ( sn). Ich habe jetzt im Script alles was samaacountname war gegen SN ( surname ) ausgetauscht. In der Liste tauchen jetzt die Nachnamen auf , aber mit der Meldung :nicht mehr im AD, nur in der Liste, was nicht stimmt. Zusätzlich wegen Namensdopplungen möchte ich noch die Vornamen abfragen (csv muss ich dann noch anpassen).
Bitte warten ..
Mitglied: Doskias
22.04.2021 um 11:27 Uhr
Wenn du noch mehr Felder brauchst empfehle ich dir einmal
Dann erhältst du eine alphabetische Auflistung aller AD-Felder des Benutzers. Vielleicht findest du dort ja noch andere Felder, die dir bei der Identifizierung helfen können.

Je nachdem wie eure "PSeudo-Accounts" genutzt wurden, könnte der logonCount oder das LastLogonDate ja weiterhelfen.

Gruß
Doskias
Bitte warten ..
Mitglied: bellojr
23.04.2021 um 10:33 Uhr
Guten Morgen,
hmmm. nicht ganz was ich suche. Vielleicht hab ich mich schlecht ausgedrückt..Ich versuchs nochmal.Vergest mal bitte den Code den ich gepostet habe.
Ich habe eine CSV-Datei mit zwei Spalten ( Vorname, Nachname ).Diese möchte ich mit allen Vor,-und Nachnamen der AD Accounts vergleichen.
Die dann im AD nicht gefunden werden möchte ich aufgelistet haben, damit ich Sie anlegen kann.
Bitte warten ..
Mitglied: Doskias
LÖSUNG 26.04.2021 um 10:36 Uhr
Und wo ist jetzt dein Problem? Also voran scheitert es?

Mein Vorschlag:

Zeile 1-6 definierst du die Variablen die du im Skript über rauchst (und brauchst )
Zeile 8 löscht die Log-Datei falls eine existiert
Zeile 10 liest deine CSV ein
Zeile 11 bis 20 geht dann Deine Quelldatei Zeilenweise durch und schaut ob ein Benutzer mit der Kombination vor und Nachname vorhanden ist.
Zeile 16 gibt dir das Ergebnis dann als Text aus, wenn der User nicht vorhanden ist.
Zeile 17 (auskommentiert) würde auf eine Bestätigung zum Fortfahren von dir warten.
Zeile 18 Sammelt die fehlenden User
Zeile 21 erzeugt dann aus der Sammlung eine CSV-Datei auf Basis deiner importierten CSV-Datei mit den fehlenden Einträgen

Theoretisch könntest du anstatt die CSV dann händisch abzuarbeiten das Ganze mit new-aduser auch noch automatisieren.

Gruß
Doksias

PS: Und ja ich weiß, die Foreach-Schleife ließe sich auch deutlich kürzer Fassen, aber ich persönlich finde, dass es so wie es hier steht einfacher zu erklären ist.

Nachtrag: Ich habe das ganze direkt in der ISE auf einem DC ausgeführt. Daher komme ich ohne Import-Module ActiveDirectory aus. Das muss ggf. noch ergänzt werden.
Bitte warten ..
Mitglied: bellojr
27.04.2021 um 10:54 Uhr
Super. Vielen Dank. Das war der richtige Ansatz den ich brauchte. Hatte noch einige Herausforderungen , wovon ich die meisten lösen konnte.

1. Traue keiner Excel von der Perso :-) face-smile - Neu gemacht ( Leerzeichen raus)
2. Umlaute aus der CSV entfernt ( Excel, Strg+H ) umlaute in AD entfernt für SN,GN – das war mir schon immer ein Dorn im Auge und gab Probleme mit anderen Schnittstellen. Ein Script dafür gibt’s auch auf administrator.de
3. Script ein bissen angepasst (dauert sonst ewig in meiner Umgebung) mit Searchbase und Filtereinstellungen

Einige Kleinigkeiten werde ich wohl händisch machen müssen, da mache Benutzer in der Ausgabenliste auftauchen, die es bereits gibt. Ein Grund ist ein Dr.med usw. im Vornamen Feld oder in der Liste von der Perso sind in der Spalte Vornamen mehrere Vornamen eingetragen.

$fehlende=@()
$userPfad="c:\temp\"
$userCSV="userlistGNSN_ohne_umlaute.csv"
$user_Log="fehlt.csv"
$CSV_Log= $userPfad+$user_Log
$CSV_Path=$userPfad+$userCSV

if (Test-Path $CSV_Log) {remove-item $CSV_Log -Force}

$Liste=import-csv $CSV_Path -Encoding Default -delimiter ';'
foreach ($datensatz in $Liste)
{
$AD_Vorhanden={}
$AD_Vorhanden=Get-ADuser -filter {enabled -eq "true" -and objectclass -eq "user" -and userPrincipalName -like "*XXXX.local*"} -SearchBase "OU=XXXX,DC=XXXX,DC=local" |? givenname -like $datensatz.vorname | ? surname -like $datensatz.name
  1. $AD_Vorhanden
if ($AD_Vorhanden.length -eq 0) {write-host $datensatz.vorname $datensatz.name "existiert nicht im AD"
  1. pause
$fehlende=$fehlende+$datensatz
}
}
$fehlende | export-csv $CSV_Log -NoType -Delimiter ';' -Encoding UTF8
Bitte warten ..
Heiß diskutierte Inhalte
LAN, WAN, Wireless
Unterschiedliche IP-Adressbereiche im Netzwerk
achkleinVor 1 TagFrageLAN, WAN, Wireless17 Kommentare

Hallo, ich stehe vor einem Problem mit der WLAN-Verbindung zum Router (Fritzbox Cable 6490). Das verbundene Notebook hat die Adresse 192.168.0.164, Gateway ist 192.168.0.149: ...

Off Topic
Microsoft und der (leidige) Datenschutz
Franz-Josef-IIVor 1 TagAllgemeinOff Topic18 Kommentare

Hello Ich möchte vorausschicken, daß ich rein prinzipiell nichts gegen Microsoft habe, eher gegen die US-amerikanische Politik 😊 Microsoft bietet die Datenverarbeitung in der ...

Off Topic
32 bit Problem
brammerVor 1 TagAllgemeinOff Topic8 Kommentare

Hallo, also das ist mal ein Problem das ich auch haben möchte eine Aktie ist mehr Wert als das die Börsensoftware darstellen kann. brammer

Hardware
Thin- oder Zero-Client für RDP und Dual-Monitor im LAN gesucht
FestplattenaufzieherVor 1 TagFrageHardware9 Kommentare

Hallo, Kurzfassung meiner Frage: Ich suche Thin/Zero-Clients (4 Stück) mit Dual-Monitor-Unterstützung für den RDP-Zugriff auf PCs in einem LAN - idealerweise lautlos und relativ ...

Windows 10
Windows 10 2021-04 end of life?
gelöst Paedi12Vor 1 TagFrageWindows 103 Kommentare

Hi Leute! Ich bin gerade auf der Suche, wie lange die Windows Version 2021-04 unterstützt wird. Kann aber nichts finden. Hat jemand eine Ahnung, ...

LAN, WAN, Wireless
Richtfunk Beratung
gelöst PretreVor 1 TagFrageLAN, WAN, Wireless5 Kommentare

Hallo zusammen, hab folgendes vor, die 2 Standorte sollen per Richtfunk (PTMP) mit Internet versorgt werden. Habs mal skizziert, denke das ist einfacher zu ...

Router & Routing
Suche Tipps für Selfmade-Load-Balancing-Router auf HP MicroServer Gen10+
gelöst MagicChris86Vor 20 StundenFrageRouter & Routing7 Kommentare

Hi Leute, ich habe einen HP MicroServer Gen10+ Performance übrig, der bei einer Kundin rausgeflogen ist, weil sie mehr Power brauchte für Desktopvirtualisierung für ...

Switche und Hubs
Netgear Switch Problem bei VLAN Konfiguration
gelöst meltersVor 1 TagFrageSwitche und Hubs14 Kommentare

Hallo, ich habe einen Netgear XS716T Switch zum Testen in Betrieb genommen, komme aber mit der VLAN Konfiguration nicht so ganz klar. Bislang habe ...