IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

comment utiliser *$var* [PowerShell]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2010
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 34
    Par défaut comment utiliser *$var*
    Bonjour,
    Je débute et rame un peu en powershell...
    J'essai d'ecrire un script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $login='toto'
    Set-Location $path
    Get-ChildItem | Where-Object { $_.PSIsContainer -and $_.name -like "*$login*"} | Select-Object Name
    Get-ADUser -filter {name -like "*$login*"}
    Question: Pourquoi "*$login*" fonction sur la commande where-object et pas avec -filter?

    Je souhaite chercher tout les comptes AD comprenant le mot "toto", donc que ça ressorte: htoto, totox, ytotol, etc...

    Merci pour votre aide.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2015
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2015
    Messages : 66
    Par défaut
    Hello,

    Le paramètre Filter utilise sont propre parser et du coup nous sommes limités dans les fonctionnalités et ce qu'on peut faire. Les expressions utilisées avec le paramètre Filter sont un sous-ensemble de ce qui peut être utilisé dans d'autres situations tels que Where-Object, il y a deux articles qui en parlent d'un des membres de l'équipe AD Powershell ici et ici

    Pour revenir à ton problème, une solution est de présenter à Filter une string prête à l'emploi avec -like, ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $user = "*toto*"
    get-aduser -filter {name -like $user}
    Essayer de générer la string au sein de l'expression utilisée par Filter ne fonctionnera pas forcément.

    Voici la doc de Filter ici. On peut voir par exemple que -match n'est pas supporté et qu'il y a un truc qui s'appelle recursivematch.

  3. #3
    Membre averti
    Inscrit en
    Novembre 2010
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 34
    Par défaut
    Merci pour l'astuce ça fonctionne bien en mettant * dans la variable.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/02/2009, 12h06
  2. Comment utiliser une var dans sql
    Par Invité(e) dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/05/2008, 13h01
  3. comment utiliser actionscript ?
    Par webs dans le forum Flash
    Réponses: 3
    Dernier message: 09/02/2003, 23h11
  4. Comment utiliser OUT ?
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 3
    Dernier message: 20/07/2002, 09h35
  5. Réponses: 5
    Dernier message: 11/06/2002, 15h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo