Je souhaite utiliser la requête LDAP pour renvoyer tous les objets utilisateur créés au cours des 24 dernières heures avec les attributs suivants.
J'ai comme ci-dessous jusqu'à présent. P>
samaccountname (username) givenName (first name) sn (last name) mail (mail addresses)
3 Réponses :
comparer contre à l'aide de code>, à l'aide du format horaire de date
yyyymmddhhmmss.fz code>:
Salut Mathias Comment puis-je faire via le filtre de recherche LDAP? J'ai besoin de définir la configuration LDAP à l'intérieur de l'application.
@Arbelac Il n'y a aucun moyen (que je connaisse au moins) construire un filtre statique décrivant "les dernières 24 heures" - vous devez remplir le filtre avec un décalage absolu à chaque fois
J'ai compris. Alors, comment puis-je filtrer SamAccountName qui commence par le préfixe PRD et / ou TST et uniquement des utilisateurs activés?
Voici mon powerShell réponse à la question. Pas un filtre LDAP, mais il obtiendra les informations que vous souhaitez.
$1DayAgo = ((Get-Date).AddDays(-1)).Date $UserProperties = "samaccountname", "givenName", "sn", "mail" Get-ADUser -Filter {whenCreated -ge $1DayAgo} -Properties $UserProperties
Fwiw, l'argument -Filter code> est traduit en LDAP, donc en substance il s'agit d'un filtre LDAP: D
Vous aurez besoin du code pour générer une chaîne pour "il y a 24 heures" (ou quel que soit le temps delta que vous voulez). Le format de la chaîne DateTime doit être YYYYMMDDHHMMSS.0z - L'horodatage est UTC. p>
Le filtre suivant trouve tous les utilisateurs Active Directory créés depuis 11h de l'UTC hier: p>
Si vous souhaitez trouver des comptes qui ont modifié em> dans le delta de l'heure précédente, changez lorsqu'il est créé sur lorsque blangé p> (& (objetCategory = personne) (ObjectClass = utilisateur) (QUAND Créated> = 20200617110000.0z)) Code> P>