Question manipulation de variable? HELP

Plus d'informations
il y a 13 ans 10 mois #12218 par Richard Lazaro
Bonjour,

J'ai uniquement lu les deux/trois messages du début.
Le problème vient tout simplement de l'utilisation de simple quote.

Ces dernières n'interprète pas ce qu'il y a dans la chaîne de caractère et donc les variables.

Voilà de la doc :
[code:1]
Help about_Quoting_Rules
Help about_escape_characters
[/code:1]

Donc, voilà des solutions pour faire ton opération :
[code:1]
Get-QADGroup -LdapFilter \"(name=\"\"$grp\"\"«»)\"
Get-QADGroup -LdapFilter \"(name='$grp')\"
Get-QADGroup -LdapFilter \"(name=`\"$grp`\"«»)\"
Get-QADGroup -LdapFilter ('(name=\"{0}\"«»)' -f $grp)
[/code:1]

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.

Plus d'informations
il y a 13 ans 10 mois #12220 par Matthew BETTON
Bonjour,

BIen vu pour les simples cotes que je n'avais point vu...

Pour chercher un groupe par son nom, il y a plus court que d'utiliser le paramétre '-ldapfilter'.

Le paramétre '-identity' est tel que :

[code:1] -Identity <IdentityParameter>
Specify the DN, SID, GUID, or Domain\Name of the group you want to find.

The cmdlet attempts to find the group that is identified by the value of this parameter, disregarding the other
parameters. If you want other parameters to have effect, do not supply any value of this parameter on the comm
and line.

Obligatoire ? false
Position ? 1
Valeur par défaut
Accepter l'entrée de pipeline ? true (ByValue, ByPropertyName)
Accepter les caractères génériques ? false[/code:1]

Il n'est pas obligatoire mais il est en première position (donc pas besoin de le préciser), accepte le pipeline, et permet de chercher tout simplement l'objet par son nom.

@ +

Matthew

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

Plus d'informations
il y a 13 ans 10 mois #12221 par Richard Lazaro
deuxième truc,

il me semble que dans le ldapfilter, il ne faut pas de quote pour la valeur et donc :

[code:1]
Get-QADGroup -LdapFilter \"(name=$grp)\"
[/code:1]

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.

Plus d'informations
il y a 13 ans 10 mois #12222 par Richard Lazaro
@Matthew : Je pense que dans tout les cas, une recherche sera effectuée.

Donc un ldapfilter sera créé dans tous les cas.

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.

Plus d'informations
il y a 13 ans 10 mois #12226 par darphboubou
Merciiiiiii

cà fonctionne


Write-Host \"Donner le nom du groupe\"
$grp=Read-Host
Get-QADGroup -LdapFilter \"(name=$grp)\"

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

Plus d'informations
il y a 13 ans 10 mois #12234 par Matthew BETTON
Richard Lazaro écrit:

@Matthew : Je pense que dans tout les cas, une recherche sera effectuée.

Donc un ldapfilter sera créé dans tous les cas.


Je n'en est jamais douté ;)

Mais bon, un Get-QADGroup c'est fait pour trouver un groupe... Et s'il s'agit uniquement de filtrer sur le nom du groupe, je préfère donc 100 x l'écrire :

[code:1]Get-QADGroup $grp[/code:1]

Sinon, ça sert à quoi que \"Quest il se décarcasse\" :laugh:

Ce qui peut tromper les utilisateurs, ce sont les exemples fournis par Quest :

[code:1]Get-Help Get-QADGroup -Examples[/code:1]

Ici, on voit bien les simples cotes :

EXAMPLE 3
[code:1]get-QADGroup -SearchRoot 'company.com/GroupsOU' -LdapFilter '(description=a*)'[/code:1]

... mais dans cet exemple il n'y a pas de variable à interpréter.

Au sujet de

[code:1]Write-Host \"Donner le nom du groupe\"

$grp=Read-Host

Get-QADGroup -LdapFilter \"(name=$grp)\" [/code:1]


Cela peut aussi s'écrire :

[code:1]$grp=Read-Host \"Donner le nom du groupe\"

Get-QADGroup -LdapFilter \"(name=$grp)\"
[/code:1]

Ou bien encore :

[code:1]$grp=Read-Host \"Donner le nom du groupe\"

Get-QADGroup $grp
[/code:1]

@+

Matthew

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

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