Question
Symboles dans chaine de caractères
- witness
- Auteur du sujet
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 120
- Remerciements reçus 1
il y a 2 ans 9 mois - il y a 2 ans 9 mois #31054
par witness
Symboles dans chaine de caractères a été créé par witness
Bonjour,
Dans mon script, j'ai deux ligne parmi d'autres dans un bloc foreach-object:
Pour la ligne ci-dessus, voilà ce que j'obtiens après import du champ description dans la console
utilisateurs active directory: GCU-ORG$305 plutôt que GCU-ORG$USERS$305
Il manque USERS (qui apparait en bleu dans mon bloc de code dans visuel code studio), il traite donc ça comme une variable du fait qu'il y ait le symbole $. Et comme cette variable est Null puisqu'elle ne renvoie à rien, il n'affiche rien.
Concernant la deuxième ligne ci-dessus, j'aimerais mettre l'identifiant entre crochets, ça fait plus propre je trouve dans la console des utilisateurs active directory, car cet identifiant va venir s'ajouter aux nom et prénom de l'utilisateurs dans la console.
Et le fait de mettre cet identifiant m'aidera aussi à faire un tri lorsque je devrais mettre à jour les utilisateurs.
En effet, pour l'instant, mon script ne fait que l'import des utilisateurs mais par la suite je compte le faire évoluer afin qu'il fasse automatiquement le tri des utilisateurs selon qu'ils sont présents ou non dans la fichier d'import csv.
J'ai donc bêtement ajouté les crochets devant et derrière $identifiants comme ceci:
mais la aussi ça pose problème, je pense que c'est toujours lié au symbole et à comment il est interprété par powershell.
Y a t-il un moyen de ce servir de ces symboles en faisant comprendre à powershell qu'il ne doit pas les interprété comme des indicateurs de quelque chose, mais simplement comme un caractère ?
Merci
Dans mon script, j'ai deux ligne parmi d'autres dans un bloc foreach-object:
$description = "GCU-ORG$USERS$" + $Classe
Pour la ligne ci-dessus, voilà ce que j'obtiens après import du champ description dans la console
utilisateurs active directory: GCU-ORG$305 plutôt que GCU-ORG$USERS$305
Il manque USERS (qui apparait en bleu dans mon bloc de code dans visuel code studio), il traite donc ça comme une variable du fait qu'il y ait le symbole $. Et comme cette variable est Null puisqu'elle ne renvoie à rien, il n'affiche rien.
$CN = $givenname + " " + $sn + " " + $identifiant
Concernant la deuxième ligne ci-dessus, j'aimerais mettre l'identifiant entre crochets, ça fait plus propre je trouve dans la console des utilisateurs active directory, car cet identifiant va venir s'ajouter aux nom et prénom de l'utilisateurs dans la console.
Et le fait de mettre cet identifiant m'aidera aussi à faire un tri lorsque je devrais mettre à jour les utilisateurs.
En effet, pour l'instant, mon script ne fait que l'import des utilisateurs mais par la suite je compte le faire évoluer afin qu'il fasse automatiquement le tri des utilisateurs selon qu'ils sont présents ou non dans la fichier d'import csv.
J'ai donc bêtement ajouté les crochets devant et derrière $identifiants comme ceci:
$CN = $givenname + " " + $sn + " " + [$identifiant]
mais la aussi ça pose problème, je pense que c'est toujours lié au symbole et à comment il est interprété par powershell.
Y a t-il un moyen de ce servir de ces symboles en faisant comprendre à powershell qu'il ne doit pas les interprété comme des indicateurs de quelque chose, mais simplement comme un caractère ?
Merci
Dernière édition: il y a 2 ans 9 mois par witness.
Connexion ou Créer un compte pour participer à la conversation.
- witness
- Auteur du sujet
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 120
- Remerciements reçus 1
il y a 2 ans 9 mois #31056
par witness
Réponse de witness sur le sujet Symboles dans chaine de caractères
En fait c'est bon, ça fonctionne avec l'utilisation du backslash ` avant le symbole
"GCU-ORG`$USERS$" + $Classe
$CN = $givenname + " " + $sn + " " + "`[$identifiant`]"
Les caractères d'échappement sont utilisés pour attribuer une interprétation spéciale aux caractères qui les suivent.
Dans Windows PowerShell, le caractère d'échappement est le
backtick (`), également appelé accent grave (ASCII 96). Le
caractère d'échappement peut être utilisé pour indiquer un
littéral, une continuation de ligne et des caractères spéciaux.
forsenergy.com/fr-fr/windowspowershellhe...21e-4cef74213cfd.htm
"GCU-ORG`$USERS$" + $Classe
$CN = $givenname + " " + $sn + " " + "`[$identifiant`]"
Les caractères d'échappement sont utilisés pour attribuer une interprétation spéciale aux caractères qui les suivent.
Dans Windows PowerShell, le caractère d'échappement est le
backtick (`), également appelé accent grave (ASCII 96). Le
caractère d'échappement peut être utilisé pour indiquer un
littéral, une continuation de ligne et des caractères spéciaux.
forsenergy.com/fr-fr/windowspowershellhe...21e-4cef74213cfd.htm
Connexion ou Créer un compte pour participer à la conversation.
- witness
- Auteur du sujet
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 120
- Remerciements reçus 1
il y a 2 ans 9 mois - il y a 2 ans 9 mois #31057
par witness
Réponse de witness sur le sujet Symboles dans chaine de caractères
Pour cette ligne là il n'y a même pas besoin du backtick, il suffit de mettre la variable avec les crochets entre guillemets pour que les crochets soient considérés comme de simples caractères:
Par contre pour cette ligne:
La backtick est nécessaire pour le $
D'après mes tests
$CN = $givenname + " " + $sn + " " + "[$identifiant]"
Par contre pour cette ligne:
$description = "GCU-ORG`$USERS$" + $Classe
La backtick est nécessaire pour le $
D'après mes tests
Dernière édition: il y a 2 ans 9 mois par witness.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 2 ans 9 mois #31058
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Symboles dans chaine de caractères
Salut,
pour le premier point soit tu échappes le caractère DollarSoit tu n'utilises pas les guillemets double qui indiquent une substituion de variable :L'autre point à connaitre est l'usage de cette construction "Debut${Milieu}Fin", ce qui évite de considérer la variable $MilieuFin lors de la substitution.
pour le premier point soit tu échappes le caractère Dollar
"GCU-ORG`$USERS$" + $Classe
#GCU-ORG$USERS$
'GCU-ORG$USERS$' + $Classe
#GCU-ORG$USERS$
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- witness
- Auteur du sujet
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 120
- Remerciements reçus 1
il y a 2 ans 9 mois #31065
par witness
Réponse de witness sur le sujet Symboles dans chaine de caractères
Salut Laurent,
Merci pour ces précisions.
Merci pour ces précisions.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.073 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Symboles dans chaine de caractères