Question Distinguished Names [résolu]

Plus d'informations
il y a 12 ans 4 jours #17190 par Laurent
Bonjour à tous,

Je suis actuellement sur un server 2003, avec powershell v1.

Mon script importe une liste de nom d'un fichier et dois récupérer le distinguishedName de chaque membre depuis l'AD pour les placer dans les bons groupes.

Voici mon code...et mon soucis !

[code:1]Import-CSV \"listing.txt\" -Delimiter \";\" | % {

$groupe = $_.groupe
$nom = $_.nom

# Vérification de la liste
echo $nom

# Récupération Distinguished Names de l'utilisateur
$userAD = dsquery user -samid $nom

# On ajoute dans le groupe le user
dsmod group \"CN=grouptest,OU=Test,DC=dc1,DC=loc\" -addmbr $userAD

}[/code:1]
A force de test j'ai l'impression que la valeur de la variable $nom est \"oubliée\" :angry:

Dans une console powershell,
Je commence par vérifier où en est la variable :
echo $nom ... j'obtiens bien \"Laurent\"

Si je fais
dsquery user -samid $nom ... j'obtiens rien

Par contre si je redéfinis la variable
($nom = \"Laurent\") ... j'obtiens ce que je veux

Enfin, si je mets le nom \"en dur\" dans la commande :
dsquery user -samid \"Laurent\" ... j'ai mon résultat du type : \"CN=LAURENT,OU=Test,DC=dc1,DC=loc\".


Pour en revenir à mon script, jusqu'à la commande echo $nom ça marche, ensuite plus rien :angry:


Gros débutant en powershell, je pense passer à côté de quelque chose, mais quoi ?
Merci pour votre aide

Message édité par: Sasquash, à: 18/03/14 23:12

Message édité par: Sasquash, à: 18/03/14 23:24<br><br>Message édité par: Sasquash, à: 19/03/14 13:19

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 3 jours #17191 par Philippe
Réponse de Philippe sur le sujet Re:Distinguished Names
salut Sasquash

ton script est \&quot;normal\&quot; et fonctionne, si on enlève le fait que tu utilise quasiment que des instruction DOS.

regarde du côté du ficher listing.txt qui doit pas être correct :
- le délimiteur doit être coller directement au données (pas d'espace, tabulation ou autres caractères)
- vérifie l'encodage (par défaut il doit être ANSI) utilise notepad2 ou Notepad++ par exemple
ou réenregistre le fichier avec Notepad dans \&quot;enregistrer sous...\&quot; tu a \&quot;encodage\&quot; ANSI

ex:
[code:1]nom;prenom;groupe;password
Laurent;Dupont;groupe1;Password1
Pierre;Durand;groupe1;Password2[/code:1]

a par ça je vois rien

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 3 jours #17192 par Laurent
Réponse de Laurent sur le sujet Re:Distinguished Names
:cheer: Pour commencer : merci !

J'ai été voir mon fichier et à première vue rien d'anormal.

En y regardant de plus prêt, j'ai systématiquement un espace après mes noms...

Donc ma variable $nom n'est pas peuplée de \&quot;laurent\&quot;, mais de \&quot;laurentespace\&quot;.

Je pense que c'est de là que viens mon problème car \&quot;dsquery user -samid $nom\&quot; me sort maintenant les données attendues.

Me reste plus qu'à trouver le moyen de supprimer les espaces en fin de chaques lignes dans mon fichier d'import (envrion 250 lignes :whistle: )

Message édité par: Sasquash, à: 19/03/14 11:57<br><br>Message édité par: Sasquash, à: 19/03/14 11:58

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 3 jours #17193 par Philippe
Réponse de Philippe sur le sujet Re:Distinguished Names
tu peut rajouter TRIM a ta variable $nom ça devrait suffire :

[code:1]$userAD = dsquery user -samid ($nom.trim())[/code:1]

les () rajouter force powershell à effectuer le trim d'abord sinon tu aurais : dsquery user -samid Laurent.trim() à l'exécution

ou beaucoup mieux :

[code:1]$nom = $_.nom.trim()
[/code:1]
comme ça ta variable $nom sera prête pour tous le script

il existe aussi trimstart et trimend pour enlevé les espaces qu'au début ou à la fin du contenue de la variable<br><br>Message édité par: 6ratgus, à: 19/03/14 12:28

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 3 jours #17194 par Laurent
Réponse de Laurent sur le sujet Re:Distinguished Names
:)

Merci beaucoup pour ton aide.
La situation est maintenant débloquée<br><br>Message édité par: Sasquash, à: 19/03/14 13:21

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.043 secondes
Propulsé par Kunena