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 :

Erreur de variable dans double "Do-While" instructions [PowerShell]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Par défaut Erreur de variable dans double "Do-While" instructions
    Bonjour à tous,

    Je souhaite bâtir un script PW qui va créer des users dans un AD à partir de document Excel.

    Ayant créer deux boucles Do-While qui s'occupent de la lecture du fichier je rencontre toujours une même erreur de variable non déclarée. J'ai beau essayé de les passer en global, j'obtiens encore et toujours la même erreur.

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    #Déclarations des fonctions
    $file = 'C:\Users\Administrator\Documents\ressources.xlsx'
    $sheetName = "Sheet1"                                                         
    [int]$global:line = 2                                                         #10 Nombre de global:line à traiter pour la création de user
    [int]$global:column = 1
    
    #Ouverture invisible d'Excel
    $objExcel = New-Object -ComObject Excel.Application
    $objExcel.Visible = $false
    
    #Ouverture du fichier Excel
    $workbook = $objExcel.Workbooks.Open($file)
    $sheet = $workbook.Worksheets.Item($sheetName)
    
    #Instructions Principales
    Do
    {
        Do
        {
            Write-host $global:column
            $global:column+=1
        }While($sheet.cells.item($global:line,$global:column).value() -ne $null) #26 Boucle de controle des lignes
    
        $global:line++
        $global:column = 1
    
    }While($sheet.cells.item($global:line,$global:column).value() -ne $null) #28 Boucle de controle des colonnes
    
    #Fermeture d'Excel
    #$objExcel.Quit()
    
    Erreurs obtenues:
    
    You cannot call a method on a null-valued expression.
    At C:\Users\Administrator\Documents\creationUsers.ps1:17 char:1
    + $sheet = $workbook.Worksheets.Item($sheetName)
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
        + FullyQualifiedErrorId : InvokeMethodOnNull
     
    1
    You cannot call a method on a null-valued expression.
    At C:\Users\Administrator\Documents\creationUsers.ps1:25 char:9
    +         $global:column+=1
    +         ~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
        + FullyQualifiedErrorId : InvokeMethodOnNull
     
    You cannot call a method on a null-valued expression.
    At C:\Users\Administrator\Documents\creationUsers.ps1:30 char:5
    +     $global:column = 1
    +     ~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
        + FullyQualifiedErrorId : InvokeMethodOnNull
    Any clue please ?

  2. #2
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2012
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 281
    Par défaut
    salut Lil'Broler

    je viens de testé ton script sans problème et sans les globlals !!

    je suppose que tu a récupéré une partie du script sur internet,
    si c'est le cas, des fois les copier/coller copie les caractères de mise en pages que l'on ne voir pas
    il te faut dans ce cas copier/coller ton script dans un autre éditeur de texte comme le bloc-note de windows puis refait un copier/coller vers ton éditeur habituel

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Par défaut
    Citation Envoyé par 6ratgus Voir le message
    salut Lil'Broler

    je viens de testé ton script sans problème et sans les globlals !!

    je suppose que tu a récupéré une partie du script sur internet,
    si c'est le cas, des fois les copier/coller copie les caractères de mise en pages que l'on ne voir pas
    il te faut dans ce cas copier/coller ton script dans un autre éditeur de texte comme le bloc-note de windows puis refait un copier/coller vers ton éditeur habituel
    Bonjour 6ratgus,

    Le plus triste est que ce script n'est pas un copy / paste, savoir qu'il fonctionne pour toi est d'autant plus déconcertant...

    Mais je vais suivre ta méthode et tenter un copy paste depuis ce forum, qui sait...

    Merci du feedback en tout cas.

  4. #4
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2012
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 281
    Par défaut
    il peut avoir une autre sources d'erreur :
    Sheet1 est le nom de ta feuille dans l'onglet
    si ce n'est pas le bon nom tu a aussi les mêmes erreurs !!

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Par défaut
    Citation Envoyé par 6ratgus Voir le message
    il peut avoir une autre sources d'erreur :
    Sheet1 est le nom de ta feuille dans l'onglet
    si ce n'est pas le bon nom tu a aussi les mêmes erreurs !!
    LA page s'appelle bien Sheet1, mais soudainement j'ai un flash, ya une commande que l'on rentre dans powershell au début, set-execution quelque chose que j en'ai pas fait, est-ce une possible source de conflit pour les variables ?

  6. #6
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2012
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 281
    Par défaut
    ya une commande que l'on rentre dans powershell au début, set-execution quelque chose que j'en ai pas fait
    oui c'est Set-ExecutionPolicy qui sert à Autoriser l’exécution de Scripts PowerShell
    c'est une commande que l'on lance qu'une fois, pour toutes la vie du PC sauf si tu veux changer de niveau d'autorisation

    mais puisque tu a des messages d'erreur c'est que le script s'execute, et donc que le Set-ExecutionPolicy est bon !

    a tu toujours les mêmes messages d'erreur ?

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

Discussions similaires

  1. [PowerShell] double quotes et variables dans une ligne de script Powershell
    Par Aenean dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 08/12/2014, 17h55
  2. Erreur 1008 variable dans order by : Transact SQL
    Par benny-blanco dans le forum Développement
    Réponses: 2
    Dernier message: 23/09/2012, 20h48
  3. [MySQL] erreur avec une variable dans une requête
    Par Hayabusa dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 09/03/2007, 23h42
  4. Erreur, lors de variables dans la clause LIMIT
    Par ToxiZz dans le forum Requêtes
    Réponses: 2
    Dernier message: 09/11/2006, 19h32

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