Wie überprüft man, ob der Windows-Benutzerkontoname in der Domäne existiert?

8

Was ist der einfachste und effizienteste Weg in C #, um zu überprüfen, ob ein Windows-Benutzerkontoname existiert? Dies ist in einer Domänenumgebung.

  • Eingabe: Benutzername im Format [Domäne] / [Benutzer] (z. B. "Mycompany \ Bob")
  • Ausgabe: True, wenn der Benutzername existiert, false wenn nicht.

Ich fand diesen Artikel , aber die Beispiele beziehen sich auf das Authentifizieren und Bearbeiten von Benutzerkonten und Sie nehmen an, dass Sie bereits einen eindeutigen Benutzernamen haben, während ich mit dem Benutzerkontonamen anfange.

Ich bin sicher, dass ich das mit AD herausfinden kann, aber bevor ich das tue, habe ich mich gefragt, ob es eine einfache API auf höherer Ebene gibt, die das tut, was ich brauche.

* UPDATE *

Es gibt wahrscheinlich viele Möglichkeiten, dies zu tun, Russ hat einen Artikel geschrieben, der funktionieren könnte, aber ich konnte nicht herausfinden, wie ich ihn in meiner Umgebung optimieren kann. Ich habe einen anderen Ansatz gefunden, den WinNT-Provider zu verwenden, der die Aufgabe für mich erledigt hat:

%Vor%

P.S. Für diejenigen, die mit der oben verwendeten API nicht vertraut sind: Sie müssen eine Referenz zu System.DirectoryServices hinzufügen, um sie zu verwenden.

Der Link, den ich gefunden habe, der mir dabei geholfen hat: Wie bekomme ich Benutzerinformationen mit ADSI Die Beispiele verwenden ADSI, können aber auch auf .NET DirectoryServices angewendet werden. Sie demonstrieren auch andere Eigenschaften des Benutzerobjekts, die nützlich sein können.

    
DSO 25.08.2009, 17:47
quelle

2 Antworten

4

Der System.DirectoryServices -Namespace im Artikel ist genau das, was Sie brauchen und beabsichtigt haben für diesen Zweck. Wenn ich mich richtig erinnere, ist es ein Wrapper um die Active Directory Server Interfaces COM-Schnittstellen

BEARBEITEN:

Etwas wie das Folgende sollte es tun (es könnte wahrscheinlich mit etwas Überprüfung und Handhabung tun). Es wird die Domäne des aktuellen Sicherheitskontexts verwendet, um einen Domänencontroller zu finden. Dies könnte jedoch leicht so geändert werden, dass ein benannter Server übergeben wird.

%Vor%

und getestet mit dem folgenden

%Vor%     
Russ Cam 25.08.2009 17:51
quelle
2

Eine einfache Möglichkeit gefunden, dies zu tun, wenn Sie auf einer Framework-Version mit einem hohen Versionsstand stehen:

%Vor%     
lbergnehr 17.01.2013 10:12
quelle

Tags und Links