Unter Windows XP in einer Active Directory-Umgebung - Was ist die einfachste Möglichkeit für mich, die E-Mail-Adresse eines Benutzers von AD abzufragen, wenn sein Benutzername in der Befehlszeile angegeben ist.
(Vorausgesetzt, ich weiß, wo es normalerweise im Baum aufbewahrt wird).
(Ich kenne den Benutzernamen / die Domäne des Netzbenutzers , möchte aber nur das Element der E-Mail-Adresse zurück.)
Antworten:
quelle
dsquery benutzername "vorname nachname" | dsget user -email
quelle
so etwas wie diese dsquery könnte funktionieren.
E-Mail nach Benutzername abfragen dsquery.exe * -filter "(& (objectClass = user) (! (objectClass = computer) (sAMAccountName = username)))" | dsget user -email
Ich habe den Beitrag zuerst falsch gelesen und dachte, Sie wollten einen Benutzernamen aus dem E-Mail-Namen. Deshalb habe ich dieses hier gepostet. dsquery.exe * -filter "(& (objectClass = user) (! (objectClass = computer) ([email protected]))" -attr benutzername
Basierend auf einigen Skripten bei der Arbeit und dieser Site, die einige andere Ideen hat http://www.petri.co.il/forums/showthread.php?t=18464 über die Verwendung von csvde.exe
quelle
adfind -sc u: Mail "Benutzername"
quelle
Wenn es sich bei der gewünschten E-Mail auch um den Benutzerprinzipalnamen handelt, können Sie ihn mit abrufen
Dies funktioniert jedoch nur, um die E-Mail des aktuellen Benutzers abzurufen, nicht, wenn die Frage ursprünglich gestellt wurde.
quelle
Installieren Sie Powershell und das QuestAD-Addon-Pack. Dann ist es so etwas wie:
quelle
Sie können einfaches VBScript schreiben, um über LDAP abzufragen. Erstellen Sie eine Datei mit der Erweiterung VBS
Lege so etwas hinein
Gib den korrekten BENUTZERNAMEN in die LDAP-Abfrage ein, starte die VBS-Datei und genieße :)
Wenn Sie zum ersten Mal mit LDAP arbeiten, kann es etwas kompliziert sein, eine LDAP-Abfrage zu schreiben. Um den LDAP-Pfad für den Benutzer zu erkennen (dh was Sie nach LDAP einfügen müssen: //), können Sie Active Directory herunterladen Explorer von Microsoft Rufen Sie den Explorer auf, navigieren Sie zum Benutzer und sehen Sie, was im Textfeld Pfad angezeigt wird
In meinem Fall war es so etwas wie CN = [Benutzername], CN = Benutzer, DC = [Städtename], DC = [Firmenname], DC = com,
quelle
LINQ zu allem ! Zur Bequemlichkeit:
1) Fügen Sie in den Abfrageeigenschaften von LinqPad einen Verweis auf System.DirectoryServices.AccountManagement.dll hinzu. 2) Zusätzlicher Namespace-Import: System.DirectoryServices.AccountManagement
quelle
Ich habe diesen Thread gefunden, der mir geholfen hat, das zu bekommen, was ich wollte. So erhalten Sie Attribute von AD-Benutzern in Umgebungsvariablen. Dieses Skript nimmt alle gewünschten Attribute vom angemeldeten Benutzer und legt eine entsprechende Umgebungsvariable fest. Ich habe den Variablen ein Präfix vorangestellt, aber das ist optional, sodass der Variablenname zu "AD [Attributname]" wird. Sie können Attribute auswählen. Fügen Sie Ihr Attribut einfach nach -attr hinzu oder entfernen Sie es. Nicht sehr nützlich für mehrwertige Attribute. Letzter (ein) Wert geht in die Umgebungsvariable.
Dieses Skript ist lokal für die aktuelle cmd.exe
Um globale Umgebungsvariablen in Windows zu erhalten, können wir "setx" in Windows 7 verwenden. (Für Loginscript vielleicht ... aber viel langsamer.)
: EDIT: Ein Leerzeichen am Ende der set-Anweisung in Beispiel 2 hat dazu geführt, dass der Wert mit einem Leerzeichen endet. Zum Korrigieren entfernt. (Set %% A = %% B & setx ...) Außerdem wurde festgestellt, dass Sie mindestens zwei Attribute exportieren müssen, damit das Skript ordnungsgemäß funktioniert.
Eine späte Antwort, aber wenn es jemandem da draußen helfen kann, bin ich glücklich.
quelle
Ich weiß nicht, ob es auf den Mittelwert des Threadstarters abgestimmt ist oder nicht. Aber ich finde gerade eine Lösung für mein bestehendes Problem, die bereits nach Durchsuchen dieses Themas gelöst wurde. Ermitteln der USER LOGIN ID basierend auf der BEKANNTEN MAILADRESSE . :)
Die Datei [ salesforce-uid-mail-address.txt ] enthält eine Liste der E-Mail-Adressen. Die Datei [ salesforce-uid-cn.txt ] enthält "vollständigen CN mit Pfad". Die Datei [ salesforce-uid-samid.txt ] enthält den Alias "Benutzer-Anmeldename" "SAMID gefunden". Das war's Leute. Verbesserungsvorschläge sind willkommen. :)
quelle
Unten ist ein Batch-Skript, das ich für etwas anderes geschrieben habe, aber es kann verwendet werden, um das E-Mail-Attribut innerhalb eines CN ohne zu große Probleme zu finden.
quelle