dachre
Goto Top

Werte aus 2 Spalten einer Exceltabelle vergleichen und anpassen

Wird benötigt für Usernamen-Vergleich in AD

Hallo liebe Leser und Leserinnen.
Ich stehe vor folgendem Problem:
Zum erstellen von Nutzern für die AD verwende ich eine Exceltabelle in der User mit vollem Namen eingetragen werden.Aus dem Anfangsbuchstaben des Vornamens+Zeichen des Nachnamens wird der Loginname des Users erstellt (8-Stellig) und in eine Spalte eingetragen.
Bsp.: Username: Max Mustermann loginname: mmusterm
Dem User werden auch die benötigten Gruppen und Eigenschaften zugewiesen was ebenfalls in der "user.txt"-Datei steht.
Mein Problem ist nun wenn ich einen User habe mit dem Namen: Moritz Mustermann dann lautet der Loginname in der erstellten "user.txt-Datei" ebenfalls: "mmusterm" sollte allerdings "momuster" heißen.
Idee hierbei wäre gewesen, die Einträge in der "user.txt" mit den Einträgen einer durch "dsquery" erstellten Datei (benutzer.txt) zu vergleichen und doppelte in der "user.txt-Datei" abzuändern.
Das Erstellen der "user.txt" wird derzeit in einer Exceltabelle per Makro ausgeführt.
Hat jemand eine Idee ob und wie das ganze zu realisieren ist?

Mit freundlichen Grüßen

DaChRe
Kommentar vom Moderator Biber am Jan 10, 2011 um 15:33:22 Uhr
Verschoben von "Entwicklung" nach "Excel".

Content-Key: 158268

Url: https://administrator.de/contentid/158268

Printed on: April 16, 2024 at 22:04 o'clock

Member: MarkusMohr
MarkusMohr Jan 10, 2011 at 09:28:41 (UTC)
Goto Top
Hallo,

wie oft kommt denn sowas vor das die usernamen doppelt sind? Weil eine AD erstellt man in der Regel ja nur einmal und pflegt sie dann!

Sonst würde ich halt in der Excel tabelle nach doppelten suchen und die von Hand abändern ist glaub ich am wenigstens aufwand!
Member: DaChRe
DaChRe Jan 10, 2011 at 09:39:04 (UTC)
Goto Top
Das kann nur passieren wenn ein neuer Nutzer erstellt wird und da zum anlegen des Nutzers noch viele weitere Schritte dazugehören wird mit dieser Excel-Geschichte versucht das ganze etwas zu automatisieren. (Rechte setzen,Gruppen hinzufügen,Ordner anlegen etc.)
Und das prüfen der einzelnen User per Hand macht das ganze wieder etwas komplizierter.
Mitglied: 60730
60730 Jan 10, 2011 at 10:03:21 (UTC)
Goto Top
moin,

  • "Excel" ist hoffentlich eine csv Datei....
  • und da stehen nur die "neu" anzulegenden User drin....

demo für den cmd Promt
for /f "skip=6 tokens=1,2,3 delims= " %a in ('net user /domain') do for %x in (laufwerk:\pfad\Dateiname.csv) do echo %x ^|findstr "%a %b %c" && title Username bereits belegt

Gruß
Member: DaChRe
DaChRe Jan 10, 2011 at 10:21:31 (UTC)
Goto Top
Nein es handelt sich nicht um eine CSV-Datei.
Hatte allerdings gerade noch eine andere Idee.
Man könnte den Befehl der mir den aktuellen "Bestand" an Usern anlegt (also dsquery) doch in das Makro in der Exceltabelle einbauen.Dann fügt er den "Bestand" in eine Spalte in der Exceltabelle ein und ich kann die Spalte mit den neuen loginnamen mit den bereits bestehenden vergleichen und abändern!?Ist das eventuell leichter statt untereinander Dateien zu vergleichen?
Member: DaChRe
DaChRe Jan 10, 2011 at 12:38:10 (UTC)
Goto Top
So habs jetzt soweit dass er mir den "Bestand" in eine Spalte in der Exceltabelle einfügt.Jetzt fehlt mir nur noch der Vergleich der Spalte A mit Spalte L um auf doppelte zu prüfen und dann diese anzupassen.
Member: Biber
Biber Jan 10, 2011 at 13:01:18 (UTC)
Goto Top
Moin DaChRe,

Zitat von @DaChRe:
So habs jetzt soweit dass er mir den "Bestand" in eine Spalte in der Exceltabelle einfügt.Jetzt fehlt mir nur noch
der Vergleich der Spalte A mit Spalte L um auf doppelte zu prüfen und dann diese anzupassen.
Bedeutet das
  • der Beitrag kann jetzt von "Entwicklung" im Sinne von Individuallösung nach "Excel" verschoben werden?
  • du übernimmst jetzt eine der 57000 Google-Musterlösungen zu "Finde Wert aus Spalte A in Spalte B"?
  • der Beitrag ist im Prinzip erledigt?

Oder wartest du jetzt auf Input?

Grüße
Biber
Member: DaChRe
DaChRe Jan 10, 2011 at 13:04:44 (UTC)
Goto Top
Zitat von @Biber:
Moin DaChRe,

> Zitat von @DaChRe:
> ----
> So habs jetzt soweit dass er mir den "Bestand" in eine Spalte in der Exceltabelle einfügt.Jetzt fehlt mir nur
noch
> der Vergleich der Spalte A mit Spalte L um auf doppelte zu prüfen und dann diese anzupassen.
Bedeutet das
  • der Beitrag kann jetzt von "Entwicklung" im Sinne von Individuallösung nach "Excel" verschoben werden?
  • du übernimmst jetzt eine der 57000 Google-Musterlösungen zu "Finde Wert aus Spalte A in Spalte B"?
  • der Beitrag ist im Prinzip erledigt?

Oder wartest du jetzt auf Input?

Grüße
Biber

Ok dann würde ich sagen es kann zu Excel verschoben werden da ich leider keine wirkliche Lösung finde wie das mit dem vergleichen und ändern funktioniert.Wäre also super mit dem verschieben.

MfG
Member: Biber
Biber Jan 10, 2011 at 15:59:39 (UTC)
Goto Top
Moin DaChRe,

okay, verschoben nach "Excel" habe ich den Beitrag.

Der Rest ist eigentlich zu 90% Geschmackssache bzw. zu 10% abhängig von der Datenmenge in den beiden Spalten

Wenn du da über 10000 Einträge je Spalte hast, dann würde ich einen Makro drüberschrapeln lassen, um die (hoffentlich) 0, vielleicht auch 3 Dubletten rauszufieseln .
Wenn wir von ein paar hundert Einträgen reden, dann reicht ja eine "Bedingte Formatierung" auf Rosa & Fett oder eine Kennzeichnung der Duplikate in einer Zusatzspalte... also mit einer runterkopierten Formel.

Was ist dir denn am liebsten?

Grüße
Biber
[edit] grad noch aus dem Augenwinkel gesehen...
keine wirkliche Lösung finde wie das mit dem vergleichen und ändern ..
Hmmm - du willst wirklich ggf. einen Alternativnamen generieren lassen...?
Lohnt sich das verglichen mit der manuellen Willkürentscheidung?
Wenn es dumm läuft und du hast ärgerlicherweise drei "Klaus-Peter Müller"s unter deinen Benutzern ... da bist du bei der Namensgenerierung irgendwie eher meine Wahl als ein Doof-Excel-Makro...
[/edit]
Member: DaChRe
DaChRe Jan 11, 2011 at 06:57:10 (UTC)
Goto Top
Guten Morgen.
Also derzeit sind es maximal 50 Einträge die neu angelegt werden aber verglichen wird mit über 4000 bestehenden Nutzern.
Wenn es eben einen Nutzer: mmusterm bereits gibt dann wird eben dann momuster erstellt und wenn dann noch eine Monika Mustermann dazukommt wird bei ihr eben monmuste.
Also in Spalte A in der die vorher generierten Namen stehen werden die Namen dann nach dem Vergleich mit den Daten aus Spalte L notfalls abgeändert.
Member: Biber
Biber Jan 11, 2011 at 18:45:52 (UTC)
Goto Top
Moin DaChRe,

sagen wir mal so... wenn es 50 Neueinträge maximal sind, die überprüft werden sollen und rein statistisch dann alle 7 Monate eine Dublette...
Da mach ich mir keinen Kopp wegen Automatisierung.

Wenn Neueinträge in Spalte(A) sind und die vorhandenen 4000+x Alteinträge in Spalte(L),
dann für diese Spalte(A) bei "Format"/Bedingte Formatierung" eingeben bei "Formel ist"
=ZÄHLENWENN(A1;L:L)
...und dann unter "Muster" Rot&Fett auswählen oder irgendeine andere leicht erkennbare Kennzeichnung.
Dann werden alle A-Spalten-Einträge bunt, die auch in Spalte(L) vorhanden sind.

Und wenn da mal so ein Duplikat leuchten sollte, dann mach aus der dritten Monika Mustermann was du willst, meinetwegen eine "monmuste".

Aber manuell.
Dafür Rumskripten ist nun wirklich ein bisschen grell.

Grüße
Biber
Member: DaChRe
DaChRe Jan 12, 2011 at 08:54:22 (UTC)
Goto Top
Ok also ich hab es jetz doch mit VB hinbekommen.Hat sich demnach erledigt. face-smile
Danke trotzdem für die Hilfe.

Mfg DaChRe