Query per oggetti schema categoria 1 o 2

L'attributo systemFlags degli oggetti attributeSchema e classSchema è una maschera a bit intero che contiene flag che indicano qualità di sistema aggiuntive dell'attributo o della classe. L'enumerazione ADS_SYSTEMFLAG_ENUM contiene valori corrispondenti ai bit che è possibile impostare nell'attributo systemFlags. Esistono altri bit di systemFlags che non è possibile impostare, ad esempio il bit di 0x10, che indica se l'attributo o la classe è categoria 1 o categoria 2. Il bit di 0x10 è impostato per gli oggetti categoria 1, ovvero le classi e gli attributi inclusi nello schema di base incluso nel sistema. Il bit non è impostato per gli attributi e le classi della categoria 2, che sono estensioni allo schema. Se non esiste alcuna proprietà systemFlags in un oggetto attributeSchema o classSchema , è categoria 2.

La regola di corrispondenza LDAP_MATCHING_RULE_BIT_AND può essere usata per cercare oggetti con il flag 0x10 impostato nell'attributo systemFlags . Per altre informazioni, vedere Sintassi del filtro di ricerca.

Query per categoria 1

La stringa di query seguente cerca gli attributi della categoria 1 (attributiSchema oggetti con il bit 0x10 impostato nella proprietà systemFlags ).

(&(objectCategory=attributeSchema)(systemFlags:1.2.840.113556.1.4.803:=16) )

Tenere presente che, nell'esempio precedente, la sintassi della query LDAP richiede valori decimali; pertanto, il valore esadecimale del flag deve essere convertito in decimale. In questo caso, la categoria 1 bit è 0x10 in modo che il valore del filtro sia specificato come 16.

Query per categoria 2

La stringa di query seguente cerca gli attributi della categoria 2 (oggetti attributeSchema che non hanno il bit 0x10 impostato nella proprietà systemFlags ).

(&(objectCategory=attributeSchema)(!(systemFlags:1.2.840.113556.1.4.803:=16)))

Tenere presente che questa query restituisce anche oggetti attributeSchema che non hanno una proprietà systemFlags e, pertanto, non hanno il set di flag specificato.