Partager via


Konvertieren eines LDAP-Filters in einen SharePoint Server 2010-Verbindungsfilter

Konvertieren eines LDAP-Filters in einen SharePoint Server 2010-Verbindungsfilter

Wenn Sie die Profilsynchronisierung zwischen einem LDAP-Anbieter wie z. B. AD DS und SharePoint Server 2010 einrichten, besitzen Sie möglicherweise einen vorhandenen LDAP-Filter, den Sie in einen SharePoint-Verbindungsfilter konvertieren möchten. Dieser Beitrag enthält ein Beispiel für die Konvertierung eines LDAP-Filters in einen SharePoint-Verbindungsfilter. Anweisungen zum Eingeben des Verbindungsfilters mithilfe der SharePoint-Benutzeroberfläche finden Sie im Abschnitt „Definieren von Ausschlussfiltern für eine Synchronisierungsverbindung“ des Themas Konfigurieren der Profilsynchronisierung.

LDAP-Filter definieren die Verzeichnisobjekte, die Sie einschließen möchten. Mit SharePoint-Verbindungsfiltern werden die Benutzer definiert, die Sie ausschließen möchten.

Sehen wir uns nun einen LDAP-Filter an und überlegen wird, wie wir diesen in einen SharePoint 2010-Verbindungsfilter konvertieren können. Es folgt der verwendete Beispielfilter:

  • Suchbasis: DC=cts,DC=contoso,DC=com
  • Benutzerfilter: (&(objectCategory=Person)(!userAccountControl:1.2.840.113556.1.4.803:=2) (&(!extensionAttribute1=0)(extensionAttribute1=*)(sAMAccountName=*)(memberOf=CN=SharePoint Users,OU=Security,OU=Groups,DC=cts,DC=contoso,DC=com)))

Nun konvertieren wird den LDAP-Filter in eine Komposition aus einfachen logischen Anweisungen, sodass die Anweisungen einfacher geändert werden können:

  • A: objectCategory = Person
  • B: userAccountControl:1.2.840.113556.1.4.803:=2
  • C: extensionAttribute1=0
  • D: extentionAttribute1=*
  • E: sAMAccountName=*
  • F: memberOf= CN=SharePoint Users, OU=Security, OU=Groups, DC=cts, DC=contoso,DC=com

Der Filter oben würde dann folgendermaßen aussehen: A ∧ ¬B ∧ (¬C ∧ D ∧ E ∧ F)
wobei ∧ AND darstellt, ∨ OR darstellt und ¬ NOT darstellt.

In der folgenden Tabelle wird die Bearbeitung der booleschen Algebra erläutert.

Ursprünglicher LDAP-Filter

A ∧ ¬B ∧ (¬C ∧ D ∧ E ∧ F)

Entfernen der Klammern

A ∧ ¬B ∧ ¬C ∧ D ∧ E ∧ F

Invertieren des Filters zu einem Ausschlussfilter

¬ (A ∧ ¬B ∧ ¬C ∧ D ∧ E ∧ F)

Vereinfachung mit dem De Morgan’schen Gesetz

¬A ∨ ¬¬B ∨ ¬¬C ∨ ¬D ∨ ¬E ∨ ¬F

Entfernen der doppelten Verneinung

¬A ∨ B ∨ C ∨ ¬D ∨ ¬E ∨ ¬F

Falls A, B, C, D, E, F durch die Anweisungen ersetzt werden, mit denen wir begonnen haben, erhalten wir Folgendes:

(NOT (objectCategory = Person))
OR (userAccountControl:1.2.840.113556.1.4.803: = 2)
OR (extensionAttribute1 = 0)
OR (NOT (extensionAttribute1 = *))
OR (NOT (sAMAccountName = *))
OR (NOT (memberOf = CN=SharePoint Users,OU=Security,OU=Groups,DC=cts,DC=contoso,DC=com))

Beim erneuten Ausdruck dieser Werte in dem Format, das in die SharePoint-Oberfläche für den Verbindungsfilter eingegeben werden kann, erhalten wir Folgendes:

AND/OR

Attribut

Operator

Filter

OR

objectCategory

does not equal

Person

OR

userAccountControl

bit on equals

2

OR

extensionAttribute1

equals

0

OR

extensionAttribute1

is not present

OR

sAMAccountName

is not present

OR

member

does not contain

CN=SharePoint Users, OU=Security, OU=Groups, DC=cts, DC=contoso, DC=com

Die erste Klausel des Filters, objectCategory does not equal Person ist unnötig. Einträge mit objectCategory does not equal Person werden von SharePoint automatisch ausgeschlossen, wenn Sie einen Verbindungsfilter zum Synchronisieren von Benutzern erstellen. Verwenden Sie beim Erstellen des Verbindungsfilters die Werte in den verbleibenden fünf Zeilen der vorherigen Tabelle, um die Werte im Abschnitt Ausschlussfilter für Benutzer (Exclusion Filter for Users) der Seite Verbindungsfilter bearbeiten (Edit Connection Filters) einzugeben.

Vielen Dank an Oleg Lysyk für die ursprüngliche Version dieser Informationen.

 

Es handelt sich hierbei um einen übersetzten Blogbeitrag. Sie finden den Originalartikel unter Converting an LDAP filter to a SharePoint Server 2010 connection filter.