Question
Problème LDAP
- Loris
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 18
- Remerciements reçus 0
il y a 14 ans 1 jour #11346
par Loris
Problème LDAP a été créé par Loris
Bonjour,
J'ai un problème avec mon script batch. Je voudrais mettre à jour le compte d'un utilisateur dans l'active directory. Le problème c'est que je n'y arrive pas car lors de la connexion LDAP il faut spécifier le DN(distinguished name) d'après ce que j'ai compris. Et moi je dispose uniquement du login au format(prenom.nom).
Comment puis-je procéder pour le mettre à jour ?
J'ai un problème avec mon script batch. Je voudrais mettre à jour le compte d'un utilisateur dans l'active directory. Le problème c'est que je n'y arrive pas car lors de la connexion LDAP il faut spécifier le DN(distinguished name) d'après ce que j'ai compris. Et moi je dispose uniquement du login au format(prenom.nom).
Comment puis-je procéder pour le mettre à jour ?
Connexion ou Créer un compte pour participer à la conversation.
- BENOIT Damien
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 10
- Remerciements reçus 0
il y a 14 ans 1 jour #11347
par BENOIT Damien
Réponse de BENOIT Damien sur le sujet Re:Problème LDAP
Bonjour,
Si tu souhaite récupérer le DN d'un utilisateur AD, le moyen que j'utilise sous Windows 2008 R2 (équipé du module Active-Directory et donc de la commande Get-ADUser ) est le suivante:
(Get-ADUser LoginUtilisateur).DistinguishedName
La machine ou tu éxécute ce script possède-t-elle le module ?
Pour le charger : Import-Module ActiveDirectory
Si tu souhaite récupérer le DN d'un utilisateur AD, le moyen que j'utilise sous Windows 2008 R2 (équipé du module Active-Directory et donc de la commande Get-ADUser ) est le suivante:
(Get-ADUser LoginUtilisateur).DistinguishedName
La machine ou tu éxécute ce script possède-t-elle le module ?
Pour le charger : Import-Module ActiveDirectory
Connexion ou Créer un compte pour participer à la conversation.
- Loris
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 18
- Remerciements reçus 0
il y a 14 ans 1 jour #11348
par Loris
Réponse de Loris sur le sujet Re:Problème LDAP
Je suis sur un serveur Windows 2008. Et je ne connais pas le module que tu viens de me montrer. Je vais voir si ca fonctionne pour Windows 2008 !
Edit : Apparement ce n'est pas compatible avec Windows 2008..
Auriez-vous une autre méthode ?<br><br>Message édité par: Santa, à: 20/03/12 07:47
Edit : Apparement ce n'est pas compatible avec Windows 2008..
Auriez-vous une autre méthode ?<br><br>Message édité par: Santa, à: 20/03/12 07:47
Connexion ou Créer un compte pour participer à la conversation.
- Richard Lazaro
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 530
- Remerciements reçus 0
il y a 14 ans 22 heures #11349
par Richard Lazaro
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Réponse de Richard Lazaro sur le sujet Re:Problème LDAP
Bonjour, il y a actuellement \"3 méthodes\" pour interroger un Active Directory :
- Module AD de PoSh 2.0
- Snappin Quest Software
- Et le bon vieux ADSI du framework .Net
Moi je prefere cette dernière, car on comprend mieux comme cela fonctionnne :
[code:1]
# Recuperation de la racine du domaine
$dom = New-Object System.DirectoryServices.DirectoryEntry
$loginName = 'prenom.nom'
# Créaton d'un objet de recherche sur cette racine
$searcher = New-Object System.DirectoryServices.DirectorySearcher -ArgumentList $dom
$searcher.Filter = ('(samaccountname={0})' -f $loginName)
$searcher.FindOne()
[/code:1]
Ceci va te retourner un objet de recherche avec UN résultat (car j'ai utilisé FindOne, il existe aussi FindAll)
Il faut aprés que tu continues à travailler avec cet objet.
Bien Cordialement,
Richard Lazaro.
- Module AD de PoSh 2.0
- Snappin Quest Software
- Et le bon vieux ADSI du framework .Net
Moi je prefere cette dernière, car on comprend mieux comme cela fonctionnne :
[code:1]
# Recuperation de la racine du domaine
$dom = New-Object System.DirectoryServices.DirectoryEntry
$loginName = 'prenom.nom'
# Créaton d'un objet de recherche sur cette racine
$searcher = New-Object System.DirectoryServices.DirectorySearcher -ArgumentList $dom
$searcher.Filter = ('(samaccountname={0})' -f $loginName)
$searcher.FindOne()
[/code:1]
Ceci va te retourner un objet de recherche avec UN résultat (car j'ai utilisé FindOne, il existe aussi FindAll)
Il faut aprés que tu continues à travailler avec cet objet.
Bien Cordialement,
Richard Lazaro.
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Connexion ou Créer un compte pour participer à la conversation.
- Loris
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 18
- Remerciements reçus 0
il y a 13 ans 11 mois #11357
par Loris
Réponse de Loris sur le sujet Re:Problème LDAP
Désolé de ne répondre que maintenant car j'étais malade !
J'ai procédé comme ceci et cela fonctionne :
[code:1]$i = (Dir \\Win-Webserver\m\*).Count
$tableauFichiers = Get-Childitem \\Win-WebServer\m\*
For ($j=0; $j –lt $i; $j++)
{
$nom = $tableauFichiers[$j].name
$xmldata = [xml] (Get-Content \\Win-WebServer\m\$nom
$login = $xmldata.utilisateur.login
$dn = dsquery user -samid $login -o rdn
$user = [ADSI] “LDAP://CN=$DN, CN=Users, DC=solidaris, DC=local”
$user.sn=$xmldata.utilisateur.nom
$user.givenName=$xmldata.utilisateur.prenom
$user.telephoneNumber=$xmldata.utilisateur.telephone
$user.mail=$xmldata.utilisateur.email
$user.company=$xmldata.utilisateur.compagnie
$user.department=$xmldata.utilisateur.departement
$user.description =$xmldata.utilisateur.description
$user.SetInfo()
Move-Item \\Win-WebServer\m\$nom \\Win-WebServer\r
}[/code:1]
J'ai procédé comme ceci et cela fonctionne :
[code:1]$i = (Dir \\Win-Webserver\m\*).Count
$tableauFichiers = Get-Childitem \\Win-WebServer\m\*
For ($j=0; $j –lt $i; $j++)
{
$nom = $tableauFichiers[$j].name
$xmldata = [xml] (Get-Content \\Win-WebServer\m\$nom
$login = $xmldata.utilisateur.login
$dn = dsquery user -samid $login -o rdn
$user = [ADSI] “LDAP://CN=$DN, CN=Users, DC=solidaris, DC=local”
$user.sn=$xmldata.utilisateur.nom
$user.givenName=$xmldata.utilisateur.prenom
$user.telephoneNumber=$xmldata.utilisateur.telephone
$user.mail=$xmldata.utilisateur.email
$user.company=$xmldata.utilisateur.compagnie
$user.department=$xmldata.utilisateur.departement
$user.description =$xmldata.utilisateur.description
$user.SetInfo()
Move-Item \\Win-WebServer\m\$nom \\Win-WebServer\r
}[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.094 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Problème LDAP