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 :

Problème de boucle Do Until


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Par défaut Problème de boucle Do Until
    Bonjour,
    Je débute en PowerShell. Je lance une commande de création d'utilisateur, et comme la création met un peu de temps à se faire, je cherche à vérifier que le compte existe pour continuer.
    Voici la portion de code correspondante :

    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	Do{
    		#On vérifie si l'utilisateur existe
    		$Select_user = Get-MsolUser -UserPrincipalName "$UserDisplayName" #-Erroraction 'silentlycontinue'
    		$Select_user_count = ($Select_user | Select-String .).Count #Nombre de résultats
     
    		} 
     
    	} Until(($Select_user_count -eq 1))

    Quand je tape les commandes dans la console, mon $Select_user_count est bien à 1 quand l'utilisateur existe et à 0 dans le cas contraire. Le problème est que le script boucle et la variable reste à 0 même lorsque le compte utilisateur est bien créé (vérifié depuis une autre console). Y'a-t'il une erreur dans mon code ou une spécificité dans PowerShell qui fait que la variable garde sa valeur d'origine ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Je ne comprend pas ton problème de boucle.
    Voici comment je vérifiais la présence d'un compte.

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    $UserExist = (Get-MsolUser -UserPrincipalName $UserDisplayName -ErrorAction SilentlyContinue) -ne $null

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Par défaut
    Citation Envoyé par ericlm128 Voir le message
    Je ne comprend pas ton problème de boucle.[/CODE]
    Le problème est que la boucle ne s'arrête pas quand elle devrait. La variable $Select_user_count reste à 0, comme si l'utilisateur n'existait pas. Je vais tester cette syntaxe demain.

  4. #4
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Pas de spécificité mais un problème de logique je pense

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Do
    {
        $sec = (get-date).Second
        $sec
        Start-Sleep -Seconds 1
    } 
    Until($sec -eq 5)

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Par défaut
    Peux tu expliciter le problème de logique ? J'ai beau regarder, je ne vois pas

  6. #6
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Peux tu expliciter le problème de logique ? J'ai beau regarder, je ne vois pas
    Tu lui dit de vérifie qu'un utilisateur existe tant qu'il n'existe pas.
    C'est quoi l’intérêt ? Plus tu vérifie et plus tu as de chance qu'il soit créé ?


    Ceci est étrange ($Select_user | Select-String .).Count.
    Préfère cette syntaxe pour compter le nombre d’élément @($Select_user).Count

Discussions similaires

  1. [XL-2010] VBA problème avec une boucle do until
    Par tetro27 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/08/2016, 15h22
  2. Boucle while until EOF et .csv : problème
    Par Karshick dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 01/10/2014, 17h49
  3. [Débutant] Problème boucle Do Until Action Loop
    Par VBLB35 dans le forum VB.NET
    Réponses: 8
    Dernier message: 02/08/2013, 12h04
  4. Nouveau problème à la boucle "Do-Loop Until"
    Par My_DiDi dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 29/05/2009, 14h47
  5. Problème de boucle
    Par basclln dans le forum C++
    Réponses: 19
    Dernier message: 02/04/2005, 09h13

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